Moin Jürgen,
eines noch, was ich vorhin vergessen habe:
Statt
If Flset = false then begin
solltest Du besser
If not Flset then begin
Bei booleschen Vergleichen sollte man nie auf gleich true oder gleich false prüfen.
Die andere Variante liest sich
IMHO leichter, und in Windows wird meist ein Wert gleich 0 als false angesehen und ungleich 0 als true.