I don't know if this might help, but in a game i've developed I had the same problem with the keyboard in that when a key was pressed the sprite moved multiple times instead of just the once.
The way I solved it was to use a variable for a key delay so that as soon as the key was pressed the key delay variable was set to a number, say 10, then each time through the game loop this variable was reduced by 1 until it reached 0. While ever the key delay variable was more then 0, any key presses for that key were ignored. This slowed down the key presses and you can use a different number in your key delay variable to slow the presses down to what you want.
So, I suppose you could use the same method for your mouse button, use a button delay variable so that as soon as the mouse click is registered, the button delay variable is set so that any future clicks will not register until the button delay is back at 0, and reduce the button delay variable each time through the game loop until it gets to 0.