Das passiert nur innerhalb der Delphi-
IDE beim Debuggen. Wenn Du das Programm alleine startest, funktioniert es wie geplant.
Um das zu umgehen (ohne sinnvolle Debugger-Funktionalität zu verbergen) müsstest Du TryStrToFloat verwenden, wie es Bummi vorgeschlagen hat. (Leider verheimlichst Du Deine Delphi Version, obwohl es dafür einen schönen Profileintrag gibt. TryStrToFloat gibt es so ungefähr ab Delphi 7)