Ciao.
Come scritto nei post precedenti il file da te prodotto resta comunque un file di testo. Aprendolo con Microsoft Word, Word utilizzerà il font predefinito che spesso è proprio il Courier New (questo perché Courier New è un font a passo fisso ossia tutti i caratteri hanno la stessa larghezza quindi occupano lo stesso spazio - a differenza degli altri font detti proporzionali in cui ogni carattere occupa uno spazio proporzionale alla propria dimensione).
Se vuoi ottenere un file formattato devi scrivere un file che contenga specifiche istruzioni di formattazione. Pur avendo diverse possibilità (RTF, Office Open Format, HTML, ecc.) quella più semplice è sicuramente scrivere un file in formato HTML come illustrato nel seguente esempio:
Dim W As New IO.StreamWriter("C:\output.html")
W.WriteLine("<HTML>")
W.WriteLine("<HEAD>")
W.WriteLine("<TITLE>TITOLO DEL DOCUMENTO</TITLE>")
W.WriteLine("</HEAD>")
W.WriteLine("<BODY>")
W.WriteLine("<P><STRONG>Intestazione del documento<STRONG></P>")
W.WriteLine("<HR/>")
W.WriteLine("<P><FONT name='Verdana' size='20pt' color='red'>Testo in Verdana, 20 punti, rosso<FONT></P>")
W.WriteLine("</BODY>")
W.WriteLine("</HTML>")
W.Close()
Chiaramente così facendo il tuo file non sarà più basato su testo puro ma conterrà elementi di formattazione (in questo caso tag HTML - visibili chiaramente se apri il file usando il blocco note). A te capire se questo può essere un problema nel contesto della tua applicazione.
Ciao.