I am doing some work at the moment that requires me to talk to a GPS device over an rs232 connection. Unfortunatly there are currently no classes in the .Net Framework 1.1 to do this … which means having to either use MSComm ActiveX control (yuk) or doing a world of Platform Invoke commands to call the Win32 APIs.
While stumbling around on the net to find some sample of what is required i found this article in the MSDN magazine (plus code) that gives a multithreaded base class in C#. It nicely wraps a whole BUNCH of the stuff you dont want to figure out the hard way.
Great starting place if you want to do some simple COM port work.