Problem with arduino maths

odometer:
In other words, the "double" keyword is a lie, as it is not really double-precision floating point.

It's not a lie. Nothing is being concealed. It is explained in the reference material.

http://arduino.cc/en/Reference/Double