You could try to redirect the messages of the button.
IOW:
YourVariable := MessageLoopOfStartButton;
MessageLoopOfStartbutton := YourCustomMessageLoop;
In YourCustomMessageLoop you can pass every message to the former message-loop except for the click-message, which you can
handle yourself. This way, the button will never notice when the user clicks it