Yes, OpenNETCF.Desktop.Communication librray is for desktop apps only because it depends on desktop win libraries.
For the device there are a few ways.
1. There maybe some SDK for your windows CE device that provides the required functionality.
2. I've read that for windows mobile there is Microsoft.WindowsMobile.Status class. But not sure about that one and you are on CE5 anyway.
3. For generic CE devices, you can P/Invoke the CeRunAppAtEvent (which can set an event, not just run an app) with the NOTIFICATION_EVENT_RS232_DETECTED flag.
4. Use OpenNETCF's Smart Device Framework 2.2 Community Edition. Take a look at the DeviceManagement class that exposes the SerialDeviceDetected event. (its probably wrapping whats mentioned in 3.)
So far i always used the device SDK for this kind of stuff. However, you probably want to try option 4.