I was somewhat underestimating my C++ skills. I stiil remember something.. :) So i was somewhat wrong assuming that decoding console input is required only when it'scodepage is not equal to system one. No, it should be decoded to Unicode ALWAYS. And I haven't managed to test it when console is Unicode (UTF-7 or 8). Seems that Windows has still broken Unicode console input. In this case, I think, the code needs further improvement. I don't know, how to post code changes to Blat code, so I'm posting...
And yes, that is the case for NT systems (GetConsoleCP available starting from Windows 2000) and such setups are beginning from that era.
Detect console codepage when getting text from it