Очень похоже на проблему с буферизацией.
Надо убедиться, что все выводы на экран делаются через одну систему. Например, только через write() или через fwrite() и т.п. и что весь вывод идёт в один поток — только в stdout или stderr.
Ещё в виндах есть фича — автоматическое дополнение \r к \n в "текстовых" потоках данных. А у VT100 есть настройка, которая делает тоже самое. Следовательно, к каждому выведеному '\n' у тебя может добавляться один лишний '\r'.
Правильный способ избежать этого — открыть stdout в режиме binary.
А переполнение "буфера VT100" — это из области фантастики