• IMO if you have a "that should never" attitude towards dynamic sql or most other design decisions, you are doing your clients a disservice.  Technology should be used to solve problems and often stored procedures creates another layer of debugging and specialty knowledge inside a company rather than solving a core problem.  If you need your SQL Server to run at peak performance, you can't ignore the advantages of stored procedures however don't write off dynamic sql it does have advantages and they aren't minor in some instances.

    In our company, our middle tier generates obscene amounts of SQL for us.  Given the size of our application and limited resources, spending that time coding and maintaining stored procedures is man power better spent elsewhere.  Do our SQL Servers run at optimum speed, no.  However, that wasn't a criteria for the project and hasn't been a problem. 

    Our design doesn't fit all scenarios, but more often than not before DBAs even hear how the project is supposed to work they just jump on the Stored Proc bandwagon and think a company is retarded for not using them.  They both have their place.