We have never received an example before, so haven't been able to look into this. Now we can.
But the reason is easy. We store the coordinates as "floats", ie decimals, 38.082967 -122.168817. This is most likely how Groundspeak stores them as well, but it seems like we are calculating or rounding differently.
It may also be that they store them as DD MM.MMM, but we recieve them as DD.DDDDD. If that is the case, and that it has to be calculated and rounded twice, there will be an error in many cases.
EDIT: As a side-note, I agree with Groundspeak that their numbers are correct and ours are wrong. This will be solved, maybe even this week.
EDIT2: A fix has been applied in our DEV enviroment and will reach the live servers this week. We did not round the decimals. So N38 04.9779999 became .977 instead of .978.