Das Problem ist, dass immer wieder versucht wird, die Ansteuerung der seriellen Schnittstelle selbst zu programmieren.
Das nennt man "das
Rad neu erfinden".
Die eigenen Lösungen sind meist viel schlechter als bekannte Komponenten. ("das quadratische
Rad erfinden")
Also nimm doch einfach eine Komponente
http://www.torry.net/pages.php?id=198
Ich habe z.B. den TCommPort Driver v.1.08 schon öfters verwendet. Ist zwar alt, aber funktioniert.