It would be nice to have the ability to either SetUserVirtualCurrency, or add a flag to AddUserVirtualCurrency or SubtractUserVirutalCurrency that would allow the timer to be reset.
I have a virtual currency for my Daily Reward system called DR. It regenerates one per day, and maxes out at 2. When the user has DR > 0, then I know they can redeem their daily reward. If DR = 1, then I know it's been one day since they last got an award, so I increment their daily login streak. If DR = 2, then I know they haven't been on for 2 days, so it's safe to break their login streak. If DR = 1 or 2, I need the ability to set DR to 0, and reset the virtual currency timer for this system to work.
In another project I gave away chests every 2 hours, and this system could have been accomplished with a virtual currency if I could reset the virtual currency timer, but I couldn't so instead I had to write a custom system.