Nur ein vager Verdacht: Visa Write schreibt die Daten nur in den Schreibpuffer, wartet aber nicht, bis gesendet wurde. Wenn jetzt unmittelbar nach dem Befüllen des Schreibpuffers die Schnittstelle geschlossen wird, könnte es sein, das überhaupt nichts gesendet wird. Solltest versuchshalber nach dem Schreiben ein Wait einfügen.
Für gewöhnlich wird aber jeder Befehl von der Gegenstelle quittiert, z.B mit "OK". Die bessere Lösung wäre dann, diese Quittung zu empfangen und dann das Programm zu beenden.
Zum Terminierungszeichen: das ist üblich, dass es benutzt werden muß darauf kannst Du Gift nehmen. Einfach an den String anhängen, also so:
(Unterschied zu vorher: Die Leerzeile unter dem Befehl)