This just goes to show why automating by simulating user activity is so important. On the contrary Microsoft Word does something very strange and closes down completely without even checking if the user wants to save their changes - most odd! Some apps will decide to ignore it if it didn't come from itself for example. But this isn't necessarily always the case. It is like the CloseWindow function which sends a WM_CLOSE message to the specified window which *normally* tells the window to close and when the window gets this message it closes. Unfortunately this isn't always the case. When making commands like this we have to assume that all applications process the messages in the same way and all follow the same rules.
This is one of the problems with writing commands which send windows messages. I get the same problem with sndvol32 but it works fine with another application. Now it sounds like your checkbox is doing some other kind of processing - and seems to want a mouse click as well as the usual BM_SETCHECK.
This is the windows message that is sent when a checkbox is checked/unchecked. This function enumerates all check box objects on the given window and when it finds one with the specified label it sends the BM_SETCHECK message to it.