Pues me rindo, no encuentro donde puede estar el fallo, a mi me funciona bien. Aunque puede que otro vea algo que a mi se me escapa, suele ser frecuente que alguien vea nuestros errores antes que nosotros.
Un ultimo intento desesperado
¿el texto tiene los finales de linea como #13#10 o solo como #13? porque si solo usa el #13 la función readln funciona mal mientras que el TStringlist si funciona bien, explicando así porque el primer código funciona y el segundo no.