There is a lot of discussion of geoid corrections but a point that has been missed is that there is NO standard geoid used in aviation for MSL (unlike the WGS84 standard for lat/lon, which is used both by GPS and in paper charts). Approach plates, for example, may use a "local" MSL datum derived from a different geoid than the EGM96 model used in GPS. I believe these differences can be significant.
Hence, whilst GPS is great for IFR LNAV, barometeric altimetery is needed for IFR VNAV.
brgds
421C