I am looking for a serial port component for .NET that overcomes the issues with the built-in Serial Port component related to sudden unplugging of USB-to-RS232 adapters, and suspension of the computer while the port is open. (Untrappable errors occurring after the the device is unplugged or the computer comes back after being suspended.)

I have been using [Richard Grier's solution](http://home.comcast.net/~hardandsoftware/enhanced_serial_port_object_for.htm), but I still have problems when resuming from suspend.

Is there a 3rd party component that you would recommend? I have tried several, and each have their shortcomings. Ideally I'd like a drop-in replacement for the standard serial port, but I'll take whatever I can get.

(Note: I apologize if you find this post a bit vague. This question is targeted to those familiar with my problem... it is a very common issue.)

Thank you for your time.

**Edit:** It turns out that upgrading to .NET 4 and using the serial class works fine on XP, but does *not* work on Windows 7.