Wolf-
You are exactly correct. I generally never create catch-all queries and opt for the dynamic sql implementation every time. Gail Shaw did a great write up on the problems with the catch-alls. Following Erland Sommarskog write up on the right ways to do dynamic SQL also helps.
I can't wait till I can put this SSRS 2005 implementation in the grave and move onto SSRS 2012.
DH