Genau dafür gibt es ja eben das ClicksDisabled. Das wird auch von den Actions so verwendet, wie dieser Code aus TButtonControl.ActionChange zeigt:
Delphi-Quellcode:
// prevent generating Action.OnExecute when the control gets checked
OldClicksDisabled := ClicksDisabled;
ClicksDisabled := True;
Self.Checked := Checked;
ClicksDisabled := OldClicksDisabled;