Altimetry & GPS altitude
GPS can be off +/-100 feet, routinely. IN some cases flying at altitude +/- 500 feet delta between GPS and altimeter is normal. Almost any calibrated altimeter will be more stable at reading altitude than a GPS. Due to GPS satellite position and mathematical models used in estimating altitude errors can exist at any altitude and are not predictable. Altimeter error can increase with altitude but is usually not a problem because you are further away from the hard stuff, the ground.
YOU should never set you altimeter to the GPS ever. VFR it does not really matter, but per the AIM, FAR and normal procedures in setting the altimeter involves the nearest local BARO setting w/i 100nm.
My guess is being as high as your where, 500 feet difference is normal and your static system and altimeter are OK.
From anywhere map web site:
"At low altitudes GPS altitudes will generally agree with the aircraft (barometric) altimeter, so long as the altimeter is set to the local altimeter setting. It is not uncommon to see an error of plus or minus 100 feet. Many imported GPS receivers (the inexpensive ones commonly sold over the internet or by computer stores) have about a plus or minus 200 foot altitude accuracy. This is due to a miscalculation performed in a very common inexpensive GPS chipset that is used in virtually all of these receivers."
"Most of these GPS altimetry errors are random and depend on satellite geometry and a host of other factors beyond the control of the pilot. These errors apply at any altitude as well."
Here is a more technical discussion:
http://gpsinformation.net/main/altitude.htm
Bottom line: Altimetry is an interesting subject, but if you have an accurate gage, good static system, correct baro setting corrected for temperature, you should read MSL altitude at low altitudes. Than in theory the altimeter should match the GPS altitude with good satellite position to the receiver. However depending on temperatures aloft (non-standard) your altimeter may not be a perfect indication of MSL altitude when flying at higher altitudes but it affects all planes the same. Above FL180 all aircraft fly 29.92 so they no longer even use MSL altitude but just a common ref. Since correct altimeter reading ath low MSL alititudes and close to the ground, is more critical , that is where you want an need the correct altitude reading. What about at high MSL altitudes close to the ground in mountains? Again use the local baro setting. By the way you get 2000 foot obstacle clearance in mountainous terrain vs. flat land when flying under IFR.
Common altimeter error/limitations, added to the possible +/-100 GPS error possible, you can get a large difference in indication altitudes between the two (500 feet is not uncommon). However there can be other errors such as the altimeter itself, which can be off 75 feet from field elev and still be considered OK. Altimeters are be tested on the bench at an inst shop. You could do it yourself if you can produce and measure press (accurately) from about 30.00 in-hg to about 13.76 in-hg (20,000 feet). Another method approx method is fly with and check against another aircraft.
GPS reads GEOMETRIC altitude of the aircraft, relative to a sea-level baseline that is defined in the WGS84 coordinate system. This altitude is unaffected by atmospheric conditions (but is affected by geometry as mentioned).
Aircraft Altimeters derive altitude by measuring the air pressure. Therefore, at a high altitude, on a hot day you could see 500 foot difference. The normal errors of the altimeter (altimetry) and the GPS can build up. Fly the altimeter and ignore the GPS. When using a V-NAV function of the GPS use caution.
Cheers George