Wenn du Windows Vista oder Windows 7 benutzt hast du halt normalerweise keinen Zugriff auf C:\ (damit meine ich nicht die Platt, sondern den Ordner).
Schreibs doch in den temporären Ordner:
IO.File.WriteAllText("%TEMP%\temp.vb", code)
... oder so.

P.S.: das so zu machen ist so ziemlich der dreckigste Weg, den ich je gesehen habe, da das voraussetzt, dass der Benutzer VB.NET installiert hat.