I found (again lol) that when the mouse event is handled, VoiceAttack (or any app for that matter) does not receive the mouse up message (I guess this is a good thing). It's impossible to retain state in that situation, since it never appears that the mouse is ever released.
It's probably not terrible that it is the way it is, as it's probably low likelihood that you'll be testing if a the same button you've used to trigger a command is down - and probably even less likely to test on a mouse-triggered command if any/no mouse buttons are down. I've updated the state token documentation to indicate this, but did not update the device state documentation as it's not very in-depth as it stands.
Thanks for catching that
I was like - whoa - I missed that somehow. Then I started digging into it and found that it's like that for a reason (bleh lol).