You're not supposed to get to the win32api bit - either self.subProc.kill() or os.kill() in the previous two "try" branches should do the trick. Are you actually hitting this?
I think you're wrong about the group eventually healing. The script doesn't do any killing of processes while it's waiting for the group to heal: rather it waits for the group to heal.
I've no problem with you pushing this out to 3.2 if you need to do that.
Yes, I'm assuming this isn't SEQUENCER related. As above, I'll try to verify overnight.
If you can write a unit test repro then that would be marvellous. I absolutely encourage this!
So many questions!