Have you tried waiting for longer than 5 minutes? There may be a very long time-out that is keeping the read method from returning.
In the meantime, anyone that is having problems with the GPS receiver "hanging" may want to try using GPSD instead. Install gpsd, start it up, and use "localhost" as your GPSD host in Maemo Mapper. GPSD is going to become the de facto standard with OS 2008, anyway, so you might as well start using it now.