XCSoar ignores the VTG since no current glider instrumentation provide this data in a reliable way to use it for heading information.
Even if a GPS source (e.g. garmin eTrex) produces the data, we cannot assume that the device is properly aligned with the horizon (especially so in gliders anyway because of the high level of banking when circling).
So as a result, we rely on GPS track. Internally we calculate the heading inferred from wind speed and the GPS resolved speed over the ground, and this heading is used as the aircraft's symbol's orientation.
I can't understand from your posts what the problem with altitudes and field elevations are. Except I can comment that the elevation data we use from our terrain generator is finished SRTM, but depending on the resolution you set when you create the terrain file, you may end up with loss of accuracy due to a coarse grid.
Various GPS units handle altitudes differently, some do it above the WGS ellipsoid, some above MSL. Some provide the ellipsoid offset to MSL. We also model the ellipsoid offset and apply it when we think the GPS device isn't handling it correctly; this could be the cause of what you're experiencing.
Also bear in mind XCSoar can use both barometric altitude and GPS altitude, and it's configurable as to which it uses for navigation. Maybe you need to check these things also (and/or whether your QNH is set correctly).