touch/click executes very quickly.
If you have issues, try putting a "wait: 0.1" seconds on the touch end.
(just putting this out here to help others too)
Not your exact situation but a common variation of your question.
touch start, set sprite.scale=0.9 and sprite.var_touch = 1
On "any touch end" AND
"touch is touching" the sprite, set scale to 1 and var_touch 0, wait: 0.1s and execute your code.
else set scale 1 and var_touch 0
Gives the user some feedback (shrinking, expanding, etc) and allows for smooth transitions.
The only other tip I might add, in places where it is critical the button is only pushed once, I've found it's best to delete the button instantly upon touch end then execute (and if there is only one of that sprite check the sprite.count to be doubly sure. etc etc)