In VB .NET gibt es direkt keine Möglichkeit mit Wait oder Sleep eine Anwendung anzuhalten. Grundsätzlich ist es natürlich abzulehnen mit einer For Next Schleife die Anwendung einfach künstlich zu beschäftigen.
VB .NET funktioniert auch grundsätzlich anders als eine "alte" VB 6 Anwendung. Alle Programme sind MultiThreaded. Man kann wunderbar Threads starten, Beenden und Einschlafen lassen. Die ganze Funktionialität versteckt sich im Namespace System.Threading. Also müssen Sie per Import diesen einbinden.
In der Klasse findet sich dann eine Funktion Sleep die die Dauer in Millisekunden erwartet.
Für die Kommunikation mit der seriellen Schnittstelle hat sich z.B. in meinen Test 200 ms als ausreichend erwiesen. Alternativ lässt sich auch eine Zeitspanne übergeben, mit dem Datentyp TimeSpan.