Please increase the "Downgrade expired user upgrades" cron entry. Currently it runs once an hour and there are situations were the users upgrade should show as expired allowing him to upgrade when it does not. Here is a screen grab that a user sent me: