Glad I could help.
I agree that anything that does a Command has been aborted should be severity > 10.
BTW, I should mention the Info handler is called at the end of the proc with all the messages rather than as it goes along. This is very different from how its done in C and Perl that I've used.
The problem with this approach is that if you have any bad code doing an infinite loop or good code doing a lot of printing then the Unmanaged Code continues to build up a big list and eventually blows up with out of memory. As far as I can tell there is no work around for this.
I prefer the Perl or C method as you can then use it in long running procs to see the status of where you've got to by printing messages every few minutes.