It looks like there might be a problem with the Code500 writer across leap seconds. A GMAT Code500 ephem I created is failing FDF's “ephemeris verify” utility when crossing a leap second.
As background - A Code500 ephemeris file is supposed to skip/ignore the leap second record. Across a positive leap second, the following UTC epochs occur:
Only the records marked with an asterisk should appear in the ephemeris file. The 23:59:60 record should be silently dropped. Of course, there will be an extra second of actual spacecraft flight between 23:59:59 and 00:00:00 and this would be apparent if you differenced the vectors. It looks like GMAT may be trying to jam the 23:59:60 vector in the ephem. In addition, there are leap second flags in the ephemeris header that should be set.
I guess it would be good to also make sure it handles a leap second in the other direction which would be:
No vector at 23:59:59.