2. The other problem was in the CreateFile method in SerialStream constructor. In Windows CE, the access must be GENERIC_READ, GENERIC_WRITE, and so on and not using the FileAccess enum. This way, it doesn't work.

I'm just revisiting this (trying to upgrade our application to the latest version of GPS.NET), and although a new version (3.0.2) has since been released, the problem remains. Your solution above solves the issue.