También puedes usar una variable intermedia que es lo que yo utilizo.
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
OnEventTmp: TNotifyEvent;
begin
OnEventTmp := CheckBox1.OnClick;
CheckBox1.OnClick:= nil;
CheckBox1.Checked:= False;
CheckBox1.OnClick:= OnEventTmp;
end;
Un saludo.
P.D.: También, el componente que ha modificado y añadido una variable, es buena idea e incluso es más atractiva.