I am migrating an existing .NET 2.0, SQL Server codebase to a .NET 4.0, SQL Server 2008 environment. 

The design pattern is that all app calls to the database go through a stored procedure. So there's a `get[object name]` stored procedure that needs to be created or altered for most select statements. 

So the disadvantages of this architecture to me are already evident: inconvenience. 

What are the advantages of this highly enforced stored procedure design? (now in .NET 4.0 as opposed to using an ORM).