Bueno, y si tenemos en cuenta que el evento click del check está dentro de tu código podriamos simplemnte:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
CheckBox1.OnClick :=nil;
CheckBox1.Checked :=not CheckBox1.Checked;
CheckBox1.OnClick := CheckBox1Click;
end;
Saludos