When I understand you correctly, this means, that the promotion for a specific user only gets revoked, when this user was active in the last 2 hours?
The only thing we checked was the cron task for usergroup promotions and we ran it manually, too, just to make sure. The cron task did not revoke the promotion, but in that case, it is possible that the user wasn't active?