Wenn du
CreateFile und
ReadFile/
WriteFile benutzt, dann kannst du alle möglichen Zeichen senden und empfangen.
einfach als Dateinamen "COMx" (x = 0-9) bzw. "//./COMx" (x = 0 bis ... 'falls mehr als 10 Ports')
So, um es nun zu vereinfachen ... nimm TFileStream, denn dieser kapselt diese APIs direkt und kann auch mit #0 und Co. umgehn.
Ansonsten gibt es auch noch spezielle ComPort-Komponenten.