Like they do with some Code Pink and Anti-War activists, after making an entirely inappropriate outburst the correct response is to pick up Rep. Addison "Joe" Wilson bodily and throw him out of the hall.
However, any law or rule that tells me, whether or not I am a member of Congress, that I can be punished for calling the President a liar is a terrible, terrible rule. Bush lied. Whether he knew it or not, he spread falsehoods. Whether his intentions were as noble as can possibly be or not, he deceived the Congress and the American people. That President was full of shit, and maybe if more members of Congress had said it, because we didn't have a rule against it, we wouldn't be in Iraq today.