CBSubs can only revert 1 state back. Once they've renewed their previous state is their current plan. That's working as intended.
Thanks for the clarification. In that case, everything was and is fine with the upgrade and unsubscribing.
Maybe it's not worth continuing on with this thread anymore, but I spent a lot of time testing various settings, so here are my thoughts:
The problem is probably just not showing the Free plan correctly?. (In fact, after the Registration Form, Free Plan as a choice appeared to me only when I checked its settings: Multiple subscriptions per user is allowed or if I Unsubscribe from Free - then I can choose it again resubscribe). Then is not that something is not working with the subscription, but that the user cannot choose the Free plan again.
I have the impression that Free plan ignores the setting "Allow upgrade to this: Yes" or "Propose plan for upgrades only if it is more expensive: No: It will be possible to upgrade to this plan (for free with pro-rating) if all conditions below and elsewhere are met " or it just some display bug?
On your demo site, I created a more expensive copy of the Professional plan as Professional 2.
All three plans: Free Lifetime, Profesional, and Profesional 2 were set up like you advised above:
Allow upgrade to this: Yes
Propose plan for upgrades only if it is more expensive: No: It will be possible to upgrade to this plan (for free with pro-rating) ...
No additional conditions.
After upgrading the subscription to any paid plan, Free Plan never showed, others cheaper yes, but not Free despite the same settings. As you see below screenshot.
It does not matter as long as you change or interrupt plans without renewing, because the user is not logged out, even when you upgrade from Free to Professional and then unsubscribe - the fact that Free does not appear is irrelevant, because you do not choose anything - some "autoaction" works in the background, you get a message and that's it, you have Free plan again.
However, when you renew your subscription and terminate - there is one difference - you are "logged out" (because you don't have any active subscription). And now the lack of display Free Plan becomes a problem. Registered user can only see and choose paid plans, all others only not Free. And because setting Allow Free Registered Users (without subscriptions): No - they have to choose something paid or they won't log into the site anymore.
The expected result with all available plans appears only if the user unsubscribes directly from Free Plan, not any renewed. Like below:
Notice messages differ in content.
OK, I leave it because users probably rarely interrupt their extended subscriptions, but maybe you will find that it is worth returning to it someday.