My GPS devices will sometimes report distances that are slightly long and sometimes report distances that are slightly short. The distance they report is a function of the algorithm the manufacturer has written to calculate the distance from the raw GPS data. It is certainly possible that the algorithm will calculate a distance that is sometimes an overestimate.
So I don't know what you mean when you say a "GPS should never report long."