Supongo que sigues utilizando el código que pusiste antes, solo cambiaste el "if".
Pues el problema creo que esta parte del código:
Código Delphi
[-]
IF letra3 = #13 THEN
BEGIN
write (FF,'D');
write (FF, 'O');
write (FF, ' '); END
Cuando tienes un texto como este:
do+#13#10
Tu lo conviertes a esto:
DO+Espacio+#10
En delphi un simple #10 lo interpreta como un salto de linea, así que sigue funcionando. Pero el bloc de notas, por ejemplo, si que necesita de los dos, así que si solo encuentra un #10 en vez de cambiar de linea muestra un "cuadradito". Creo que el problema se solucionaría con algo así:
Código Delphi
[-]
IF letra3 = #13 THEN
BEGIN
write (FF,'D');
write (FF, 'O');
write (FF,#13); END