Ich würde das mit dem Möööp nochmal überdenken
Ich bin auch noch nicht allzu lange in Delphi dabei und den Fehler mit den Klammern mache ich auch immer wieder. In anderen Sprachen ist die Bindung anders, da kann man sich die zusätzlichen Klammern sparen...
Richtigerweise muss es bei dir
if ((zahl mod 3)=0) OR ((zahl mod 7)=0) then [...]
lauten. Anderes Beispiel:
if ((Bedingung1) or (Bedingung2)) and (Bedingung 3)) then [...]
PS: Was wir bislang alle übersehen haben ist die Tatsache, dass man mit Fließkommazahlen schlecht Modulo rechnen kann. Also musst du deine Zahl in eine normale Ganzzahl ändern (z.B. Integer statt Real).