It is noteworthy that certain manufacturers (Rockwell and possibly Trimble come immediately mind) do not synchronize the PPS pulse to the top of the second as standardized by USNO (and indirectly BIH) but rather just give you one pulse per second starting at an arbitrary (but accurately expressed in the NMEA sentence!) point in the second.
Welcome to the nasty world of using boxes not designed for time source as a time source. The Trimble accutime units (which are designed for time synch) do the right thing, they are the only ones I've used. I have gotten a couple companies to stop advertising that they can be a time source if they don't do it right. Not all GPS receivers are time sources! It may be imperfect, but GPSWorld magazine does an annual receiver survey, and they list applications each receiver was designed for. Using anything that doesn't say it is designed for timing is risky. Once you get any new stratum 1 online, always find a nearby trusted stratum 1 and peer, just to do a couple week sanity check before offering it live. an expect script on the ntpq or xntpdc output in a cron job should catch it if it goes weird. jerry