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.