Не победил, но обошёл.
Сделал паузу не 5 бит, а 11 = полный байт.
Теперь загнать в режим когда валится куча ошибок не удаётся.
Похоже, что если железо принимает байт не с начала, получает ошибки, тут же пытается опять принять байт, и опять не с начала, и никак не может правильно синхронизироваться.
Но вот только не понятно, почему несколько лет до этого всё работало.
Можно предположить, что что-то в дровах у винды обновилось. Например, раньше при ошибке делали сброс железу, а теперь не делают. Но железо-то всё разное, от разных фирм.