I haven't checked but I suspect the answer is in this sentence about Doubles in .NET
"By default, a Double value contains 15 decimal digits of precision, although a maximum of 17 digits is maintained internally."
I suspect that the default action of Double.ToString, which is what Basic4ppc uses to convert Doubles to Strings, does actually do a rounding from 17 to 15 digits. There is an option to get a "roundtrip" value that converts exactly to and from a string representation and I suspect this is not rounded and would show the effect.