Дело явно во входном файле, что-то с ним не так. Ясно, что в процессе чтения не происходит переход на следующую строку. То есть ReadLn не находит признака конца строки.
Тот файл, что ты прикрепил выше, имеет явно не Windows/DOS формат - в нем концы строк обозначены не двумя символами CR+LF ($0D+$0A), как это принято у MS, а одним LF ($0A), как в Unix. У меня тут нету TP, чтобы проверить его реакцию на такое безобразие.
В чем ты создаешь входной файл? Создай его в обычном Блокноте. Если у тебя продвинутый редактор, то посмотри, не стоит ли там где-нить опция записи в формате Unix. На всякий случай я прикрепляю нормальный (виндусовый) файл. Признаком "нормальной виндусовости", кстати, может служить длина файла. Она должна быть по крайней мере 29 байт. Присланный тобой файл содержит 21 байт.
in_data.txt ( 29 байт )
Кол-во скачиваний: 411С названиями переменных и файлов тоже, конечно, желательно быть осторожнее. В этом примере все на самом деле чисто, но лучше избегать всяких in и out и т.п. Береженого Бог бережет..