This might explain why users occasionally report that Ctrl+Break "sticks" and they get stuck in a Break loop.
But on the other hand, I don't see why case b is buggy. If you're saying mIRC is tracking Ctrl+break on keyup, I don't see that big a problem with this. Is that what is happening here?