Rudy,
I think you make some valid points too. Depending on the application, dynamic SQL isn't so bad. You could argue that my application would fall in to the sort of general area where dynamic SQL would probably work just fine.
However... whenever I am working on new functionality, which requires a new query, I usually use Query Analyzer (or SQL Server Management Studio) to construct the query, primarily to make sure that it does what I want it to. At that point, it is simpler to 'slap on' a 'Create Procedure' line and parameters, than it is to 'stringify' the query to be executed from the front end.
Again, speaking from the perspective of my application, which is really quite large... I have 1 executable, 1 active X control (ocx) and approximately 80 ActiveX dll's. If a bug is discovered in one of the executables, it must go through a rigorous testing phase before it can be released to my customers (there are about 100 of them). If a bug is found in a query, all we need to do is to test the query and distribute the stored procedure. From experience, it is simpler to debug a stored procedure and distribute that than it is to test/compile/distribute the executables.
In my opinion, stored procs are better for the database, but they are also better from an overall software development perspective too.
-George
"The great things about standards is that there are so many to choose from." - Fortune Cookie Wisdom