I am sure I am missing something here, but have a concern.
I have a flash video of this but it would not let me upload it, so I will try to explain it.
Create a window with 2 buttons on it.
Enable one button disable the other.
Add some code to the mousePressed event of the buttons. Based on text I think you know which code I put on which button.
system.gui.messageBox("From Button1 I am enabled so this should run") and on other
system.gui.messageBox( "I am NOT enabled and should not run")
Even when you click on the disabled button the code runs. If this code turned something on or off and a operator clicked on the button thinking it would have no effect because button is disabled on screen I think bad things could happen.