Normalmente quando scrivi dei dati all'interno di un file viene usato un buffer che finchè non si riempe, i dati non vengono scritti sul disco ma rimangono in memoria, quindi la scrittura avviene solo quando questo buffer si riempe oppure alla chiusura del file stesso (metodo Close()). L'AutoFlush è una proprietà dello StreamWriter la quale indica che ad ogni chiamata del metodo Write svuota automaticamente il buffer senza aspettare che sia pieno e/o venga chiamato il metodo Close(); perciò anche se il file è ancora aperto dall'applicazione, e tu provi ad aprirlo con notepad per esempio, vedrai tutti i dati scritti nel file. ...non so se sono stato chiaro!!
A questo punto invece di questo pezzo di codice
prova a usare questo:
StreamWriter w = new StreamWriter(this.clsDatiFileIniService.PathLog + "\\STRUMETS_SERVICE_"
+ DateTime.Now.Day.ToString()
+ "_"
+ DateTime.Now.Month.ToString()
+ "_"
+ DateTime.Now.Year.ToString()
+ ".TXT", true);
w.WriteLine(Properties.Settings.Default.NomeServizio + StringaDaLoggare);
w.Close();