Hmmm, if GPSrs measure only horizontal distance/position and not distance from the previous point, then you may be receiving inaccurate measurements. For example, if the slope is 30 degrees, where the vertical distance you traveled is X, the full distance is 2X, but all you're showing on your GPSr is the horizontal, which is Xrad3... So really, you're going a bit faster. 1.15470054x faster, actually.
When you drop this to 45 degrees, it's exaggerated a bit more.