Just one for now. I reckon it's a one-liner and probably wouldn't hurt TCC a bit. That beats users having to deal with it.
The kludge/fix works pretty well as POST_EXEC. That'd be a one-line plugin POST_EXEC and no doubt faster. But I figure I could dream up batch scenarios (albeit contrived ones) where POST_EXEC wouldn't be sufficient.
Aha! That explains it. I've been working on a CONMODE.EXE to query/manipulate the mode flags for CONIN$ and CONOUT$. In my testing, if I set
ENABLE_WINDOW_INPUT or ENABLE_MOUSE_INPUT they were set successfully and remained set while my app was running. But they were gone (no longer mysteriously) when I queried them in a new instance of my app.