in reply to "tee"ing my own stdout/stderr

You could try my solution here: IO::MultiHandle - Operate on multiple file handles as one

Update: But I don't know if it won't have the same SIGINT sensitivities as the other things you've tried.

What is the sound of Windows? Is it not the sound of a wall upon which people have smashed their heads... all the way through?