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?