From my manifesto (heavily cribbed off of D+1's):
23. The DM is not required to allow a character to actually play out in the game *anything* that the player wants. What that means is that particularly if the player is about to do something the DM feels is either really stupid or openly disruptive, he should stop the game and get clarification or correction before proceeding. For example, if a character is about to kill an NPC for no reason, then rather than allow it to happen the DM should stop the player and find out what's going on. Determine the player's/character's motive. If the players response is unsatisfactory, he should DISALLOW the action from taking place at all and let play proceed from THAT point instead of proceeding from the point AFTER the disruptive act has been allowed to occur and trying to pick up the pieces. Communication flows both ways and the DM does not need to act as if players should be forbidden to ever know what goes on in a DM's mind or behind the DM shield. When a DM makes rulings there is no reason not to freely explain why he rules as he does unless there is in-game information involved that PCs should not be privy to. DMs should be capable of providing explanations for their rulings beyond, "because I said so."
I as a DM feel free to veto disruptive actions, and I will explain my reasoning unless doing so will spoil the adventure