I agree that this is pretty nifty; I use a similar getup for generating reports using SQLMail. That said, I've found some problems using the idea:
This one has been a biggie. We have a report that transfers data from one database to another with some calculations. There is no way to do "select lhs, measure, scale, offset" when all the calculation code is in the query in the table.
That said, I've mitigated some of the problems by adding Yet-Another-Layer:
The upside is that DB dependencies are tracked in SQL server for you, and you have a "List of queries to do things."
The downside is that you really should make a new stored procedure for the joining operations -- I don't know how effective joining a bunch of views together would be, so its not as "reusable/configurable" as the scheme in the article.
Although all of this is beginning to sound very similar to the master database tables... I've been thinking that I could create a few simple "filter" tables (eg, Object X, Column Y is visible as Name) that I would join with the sysobjects/syscolumns/whatnot. I guess this wouldn't be at all portable among databases