^[ just generates ASCII character 0x1B, aka Escape.
Vim understands "escape" to be 0x1B, pressed by itself (not as part of a longer escape sequence).
Not practical. ^[ is a two-key combination, so more RSI-inducing. And you need escape a lot, especially in plain vi.
And the ESC key has been generating ASCII 27 on keyboards for a long time. It's definitely not just terminal emulators.
Does ^[ cancel input in any programs ? AFAIK vim understands the ^[, not the "escape key". the key labeled "ESC" creating a ^[ is a convention used in terminal emulators.
Not that it's going to help you now, but if you had trained your fingers to hit ^[ rather than the escape key (or even ^C but that has other semantics in windows whereas I don't think ^[ does), I wonder if you would be having the same problem now..