Das Problem ist ja eigentlich nur, dass er einem Strings der länger ist als 8 zeichen zwei Strings draus macht. Ist das normal?
Was heisst schon "normal". Mit dem Beispielcode den ich dir weiter oben gepostet habe, macht er bei mir jedenfalls auch bei Strings mit mehr Zeichen keinen Umbruch.

Hast du mal mit einem Terminal-Programm ausprobiert, ob der String schon zerstückelt von deinem µC ankommt, oder ob er erst in deinem VB, bzw. Delphi Programm zerhackt wird?