Ich hab damals, als ich auch mal sowas brauchte, dieses TAG mißbraucht ^^
Also im OnClick-Ereignis des Objekts als erstes
If Sender.Tag <> 0 Then Exit;
Und dann einfach
Delphi-Quellcode:
CheckBox1.Tag := CheckBox1.Tag + 1;
CheckBox1.Checked := xyz;
CheckBox1.Tag := CheckBox1.Tag - 1;
Geht auch ganz gut ^^