I just asked a friend to run the same code but on his machine that has MapPoint 2004 installed and he gets the correct distance.
So somewhere Microsoft has changed some default setting between 2004 and 2006 but only for the ApplicationClass. Drawing it onto the map still works and gives the correct distances.
This is really frustrating !!
I'll continue to look at the DriverProfile Settings.