Zur Lösung reicht übrigens auch ein simpler Punkt:
Meinst du nicht eher ein simples
.0
?
Die Umwandlung eines Integers mittels Multiplikation mit Real, wie z. B.
ShowMessage(Format('%.0n', [1000 * 1.0]));
ist ja ein altbekannter Trick. Das Problem war, dass bei der Potenzierung von 6.000.000 das Ergebnis um 36.000.415.875.072 danebenlag, weil er die 6000000 als Integer potenziert hat und nicht als Real. Wenn man weiß was das Problem ist, gibt es 1001 Lösungen dafür
Mein XE akzeptiert auch den Punkt ohne Nachkommastellen anstandslos, das habe ich bislang auch noch nicht gewusst.
Akzeptiert Delphi 7 auch.