Performance might be an issue, but this solution is great when security is an issue. It is very easy to grant execution rights to a sproc, and then block the Select command.
See http://www.novicksoftware.com/Articles/crud-operations-using-sql-server-stored-procedures-part-1.htm about application roles.