Interesting solution. I have some vague worries about recursive calls to instrumented subs... I think maybe only the first call would get caught since by the time the second call comes the old sub is restored. But I'll have to work up a test case to be sure.
Thanks,
-sam