I recently sent my developers the article with the following comments:
"A nice short article on Dynamic Vs Static queries:
I only disagree with him on the need to use dynamic queries for searches. We do that all the time with static SQL and its pretty easy (use CASE statements in WHERE or GROUP BY clauses). About the only time we use dynamic is "Crosstabs where you don't know all the column names at design time"; probably less than 1% of our code.
The article sums up the reasons we avoid using JAVA ORM (Object Relational Mapping) frameworks like Hibernate & JDO or ADO (as an ORM). It's very time consuming if not impossible to tune an ORM. ORMs can call SPs but almost no one uses them that way since the use of an ORM by its very nature implies lack of SQL knowledge."
As to some of the arguments expressed in support of Dynamic SQL I have to say your problems are due to bad management not SPs. All the problems mentioned with SPs go double with SQL in code. The best thing about SPs I have found is that they are perfect for unit testing. Databases were designed to ease numerous burdens on developers. The rule is keep the business rules out of code and put them into the database where they belong!