Ein paar Tipps zu deinem Code:
if a>0 then bo1 := True else bo1 := False;
ist äquivalent zu
bol := a>0;
Ausserdem lässt sich
if bo2 and bo4 and bo5 = True then
ersetzen durch
if bo2 and bo4 and bo5 then
ansonsten ist es dank der "intuitiven Benennung" deiner Variablen praktisch unmöglich dir zu sagen, was da falsch ist
[Edit]
Achso, es wäre sehr praktisch zu wissen, wo genau der Fehler auftritt...
Allgemein:
StrToFloat wenn "Edit1" da steht funktioniert nicht
und durch null teilen wird auch eher ungern gesehen