2 piccoli accorgimenti per Rik se posso permettermi.
Innanzitutto sai quante sono le iterazioni che devi fare sul ciclo e quindi ti consiglio un For Next
For i = 0 To ds.Rows.Count-1
sw1.WriteLine(ds.Rows(i).Item(0) & ";")
Next
In secondo luogo devi asportare delle stringhe e metterle in un writer e quindi converti i tuoi valori esplicitamente in stringa (così puoi anche formattarli). Questo, forse, potrebbe già aiutarti nel tuo problema.
For i = 0 To ds.Rows.Count
sw1.WriteLine(ds.Rows(i).Item(0).ToString() & ";")
Next
Per il problema che hai segnalato prova a impostare la proprietà Autoflush dello StreamWriter a True...
http://msdn.microsoft.com/it-it/library/system.io.streamwriter.autoflush.aspx
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole