D>По-моему у вас как-то всё наизнанку получается. Почему бы не дать задуматься неосновному потоку над задачей, а ввод с клавиатуры всё же оставить на главный поток?
Всё на самом деле так и построено- главный поток запускает поток вычислительный, с которым
засинхронизирован (потому что используют общие объекты VCL)
И из-за этой синхронизации главный не отвечает на клаву. Поэтому
я решил создать ещё один поток, в который перенаправить клавиатурный ввод главного потока
и там ловить нажатие ESC. Но, увы, всё не так просто оказалось...