Haven't looked at this very carefully but it doesn't seem to cater for entries that are split across pages in syscomments.
Would also maybe return false entries if one statmet has a select * in it and another references the table.
And does it handle the various formats that could be used for a select statement?
As I said I only glanced at it so could be wrong.
Cursors never.
DTS - only when needed and never to control.