Sometimes I like to do an action when the button is released so I have the habit of using my method, but yours is nice too if you don't care about releasing
It is a shame that the app doesn't emulate a "proper" touch-screen interface, so that you can do "mouse-down", "mouse-over", and "mouse-up" etc.
Since it is a simple button, with only two states "down" and "up", and there's no getting away from that. So, yes, if you want "button-up" you have to do it in code, like your suggestion. But without the intelligence in the app, if you press a button and change your mind, you cannot just drag your finger off the button and take your finger off the screen, like you can with a mouse.
Everything works with smoke - if you let it out, things stop working....