Does a downloaded route plot with the same error as your track? If so, then it's possible that the lat/lon-to-screen conversion code is not accurate. If I may ask, in what part of the world was that track recorded, i.e. far north or south, near the equator, etc.?