Sorry, that's simply wrong:
The basic output (usually once per second for most GPS chipsets) consists of 7 parameters:
X,Y,Z and dX,dY,dZ along with T, wth the x,y,z values in an Earth Centered Earth Fixed coordinate system. I.e. velocity is an intrinsic output of the processing, resulting from the need to determine doppler values for all visible sats in order to track them.
Past this point many GPS units will do lots of post-processing, for some of them this includes using a lowpass filtered velocity model that uses position deltas instead of or in addition to the raw velocity outputs.
I have run over 500 orienteering races with various GPS units (mostly Garmin watches), and it is indeed true that tracking under a canopy (particularly when it is wet) can be a big challenge, but since the SirfSTAR chipset took over from Garmin's old 12-channel receiver, it is now perfectly usable.
Regarding the original article: Distance measurements depend a lot on how the GPS filters individual measurements!
If you are running along a standard road, then your actual path will be pretty much identical to a set of straight lines, simply because the usual curves on a road are so wide that you get many GPS updates along them. The same goes for XC skiing where a GPS can easily overestimate the distance by introducing spurious sideways noise.
My wife's iPhone consistently overestimate the length of the XC ski tracks in Rauland, Telemark (Norway) due to this: Since I have mapped this entire area I can measure the exact lengths directly from the aerial photos and they corresponds much better with my Garmin 620 and 410 watches. My Garmin Montana which has a much better antenna will normally provide significantly better tracking.