I've successfully connected an Arduino to an EM-411 GPS unit, and I get the initial "$GPGGA" over serial.
However, after the "$GPGSV" message arrives, the GPS starts outputting bogus data (dollar signs with intermittent numbers and letters). Occasionally it will output a "$PSRFTEXT" message, followed by the version number. I believe the GPS might be stuck in a debug mode of some sort, but I haven't found any resources on how to fix it.
Am I correct in assuming that the GPS is at fault, and not the serial link?
(sorry for the lack of details, I'll update this later on)