Prima di tutto assumere che il parser XML funziona correttamente. Se è incapace di leggere i file, bene la soluzione è ovvia.
Che ci porta a guardare come viene creato il file. Quando chiami savetofile, il file è aperto, scritto, chiuso e i buffer sono flocati. In un sistema di vaniglia semplice, il tuo parser XML vedrà l'intero contenuto del file. L'unica conclusione è che qualcosa interferisce. Il più simile al sospetto è il tuo scanner virus. Molti scanner, anche quelli più rispettati, non possono gestire correttamente un file chiuso e quindi immediatamente riaperto.
La linea di fondo è che il tuo codice va bene e il problema è quasi certamente con il tuo ambiente locale.