TCX files, GPX's files etc are funny, If I've had garmin failure I've auto-generated a history file and whilst it works fine in nearly all programs, in Strava it adopts a new moving time so my average is way off, yet if I upload directly to strava from garmin its OK
It also depends how the unit records, the rider 20 has no auto-pause so my avg on strava is for the whole ride, sometimes upto 1mph slower than the moving avg, though segments are correct (as most you don't usually stop), it was the same with the N95 when I used that, also strava as far as I am aware does not include laps (there is a lap button I sometimes press and as this doubles as the pause button and it records a lap on a short press), as these are not exported in the tcx (but I would need to confirm this).
RWGPS usually gave a slightly lower avg sp than Garmin using the 500, conversions in the FIT file !!, I also noted that if you corrected the elevation on RWGPS you tended to get sudden elevation spikes and troughs leading to some ambiguous elevation readings (usually higher totals), these could then be exported as a tcx and imported to strava and if uncorrected strava would read this as your elevation.
Units that dont record live elevation, (most phones and basic gps units) all web based sites will use there own gps data for elevation (you would have thought they would use the same gps data), if corrected (sometimes this is automatic).
Garmin for instance can easily read several thousand feet of elevation if I up load the tcx file from the Rider 20 (its just a straight liner line), this resets if you press the lap button, usually this can be corrected in Garmin Connect, though one or two it hasn't and I have had to download from Bryton then upload that file (usually works).
Strava can take a tcx file without a summary of time, distance ect.. and work this out from the plots (this can be useful if two or more rides from a day are combined), I think RWGPS can also.