Probabilmente è il carattere di "ritorno a capo" che leggi e visualizzi (non so come) nel txt (quale txt?) ...

Quindi, è possibile che sia sbagliata la "lettura", non la scrittura.

P.S.

1) Perchè usi due variabili string diverse (datoultimoterzina,datoultimoterzina2) invece di usare già quelle che hai (s,s2) ?

2) Perchè apri sempre il file di out all'interno del ciclo, invece di farlo una sola volta al suo esterno ?

3) Perchè non chiudi i file una volta terminato il programma?