If it's the same speed on your machine, it's probably because it's hitting the 40FPS limit.
It was. After increasing it to SetGameSpeed(70) I saw a very high increase in the FPS.
I didn't see anything that drastic, but I did notice a little bit of drift. Two possibilities are that I messed up the baseline calculation, or that I messed up the horizontal rescale. I won't have a lot of time to investigate this weekend unfortunately.
Well the drift is more visible in some situations than in other. It's really an issue with distant objects, when you turn.
Before you wrote this I started suspecting the baseline calculation, because when I don't display the sprites but only a dot, they look like they float above at some distance above the ground. However I can't see the issue. You used a 4.0 factor, the same as the camera height.
It could also be caused by the fact that the accuracy loss occurring in the track-rendering routine does not match the one occurring when you calculate the sprites coordinates. The former is long and based on cumulative steps, the later is a one-shot calculation with maximum accuracy.
I'd like to try calculating the sprites coordinates with exactly the same algorithm as the track's, to see what happens.