Damnit Source Engine, why do you make me deal with silly things like this.
Topics of consideration
http://wiki.garrysmod.com/?title=Player.Flashlight
http://wiki.garrysmod.com/?title=Player.FlashlightIsOn
I'll look into this, seems like fun
Gamemode.PlayerSwitchFlashlight edit:
Fix for this exploit is in SVN, and should be in the upcoming gmod update later today.
What I've done is put in a limit of one flashlight toggle per 0.5 seconds, with some extra delay if you're trying to toggle every tenth of a second or more (which happens when you use the scrollwheel method).