Five hundredths of a mile ... there could have been that much REAL difference in the distance two people rode on two separate bikes. You know when you run a race, and your watch always shows greater than the certified distance of the course? That's partly because of imprecision in the watches, but much more it's because you'd have to perfectly run the shortest set of tangents to get the exact distance.

As far as elevation, even with a barometric altimeter there's plenty of inaccuracy just because of atmospheric conditions.

Are they both set for "smart" recording, or one second recording (as Geonz suggested)? Do you have wheel sensors on both of them? Wheel sensors will make your speed and distance data a lot more accurate.