Hello,
I Think I get the point about your current issue, I process some debug, and finally there is no bug, here.
What we have here is a tricky configuration, I easily agree.
In fact you want in your payment method the option "Use virtual coupons" to "Yes" (in the SPECIFIC CONFIGURATION part).
Results :
Then in your checkout you will have a question "Do you want to use these points ?" and a Yes/No buttons.
When your order will be canceled ALL the point will be returned automatically to the user account.
Can you test this and confirm that this fit your needs ?
Regards