I just wanted to verify that was the case. There is a degree of latency with any satellite communication. Could that latency be the issue? Even at the speed of light, there is at least a fraction of a second difference in time between when the satellite sends its response and the GPS receiver gets it.
In short, no. The GPS system maintains ephemeris data for each satellite and the delays through space and the atmosphere are accounted for as part of the model. There are errors for sure, such as delays caused by different ionspheric conditions, but internally any receiver will typically be accurate to well under a microsecond. Light travels about 300m in that distance, so you can imagine the accuracy if it was worse.
More likely is something funky in Canon's implementation, maybe it does something like get the time when constructing the EXIF data after the image is taken rather than when the shutter opens. Or maybe it gets the time over the serial link to the GPS and doesn't take the latency into account. Or it might be a straight bug, or some combination of all the above. To get accurate time from a GPS you normally need to use a seperate hardware PPS (pulse per second) line rather than read the serial data alone, maybe they don't do that.
Actually it's useful to know for future reference, a few times in the past I've taken a photo of a time reference and moving objects to verify the accuracy of GPS systems. While not an issue for most users it means it wouldn't be useful for that, at least not without determining the time offset in advance if it is 100% repetable.