MsForEachDB can be easily replaced by using variables in SSIS.
But the idea is great!
I have a complete set of scripts that works for sql2000 and higher edditions and it gives me detailed information on every instance, when I need it. The difference is,that I put that data in a separate DB.