@holzi,
Dim A As String * 20
Open "Com1:9600,8,N,1" For Output As #1 ' COM 1 Output
Open "Coma.3:4800,8,N,1,inverted" For Input As #2 ' GPS-Input
Verwendest du in deinem Programm tatsächlich eine String mit 20 Zeichen? Die 20 hatte ich in meinem Post eigentlich nur beispielhaft gemeint, weil ich nicht weiss wie lang so ein kompletter Datensatz werden kann.

Falls dein Programm wirklich mit "Dim A As String * 20" funktioniert, liest dein Programm einen Datensatz in mehreren Waitkey()-Schritten ein.

Wenn das so ist, würde ich doch lieber versuchen die String-Länge auf die Länge des Datensatzes anzupassen.

Wenn du die Daten direkt hintereinander mit dem Print-Befehl ausgiibst, fällt es nicht auf, sobald du die Daten zwischen den einzelnen Waitkey()-Befehlen aber weiterverarbeitest, dürfte es Probleme geben, wenn du die Datensätze in 20-Zeichen Blöcken einliest.