Ja klar, beim Löschen (und auch Clear) steht nur noch ein Leerstring drin und der lässt sich nunmal nicht in einen Float umwandeln.
PS: es gibt auch unzählige Möglichkeiten "ungültige" Zeichen dennoch einzutragen
* DEL (rechts löschen), Erase (Links löschen), XCut (Ausschneiden)
* Einfügen (Strg+V, Einfg, Kontextmenü)
* uvm.
TryStrToFloat
StrToFloatDef
...