I have tried every possible combination of settings, but the problem persists.
I have 2 main plans, both of which require email confirmation before payment.
One plan does not require moderator approval, the other one does (before payment).
Pertinent global CBSubs settings:
Workflow settings for plan which requires email confirmation and moderator approval:
Workflow settings for plan which requires email confirmation but no moderator approval:
Regardless of how I change these settings, if a user registers and then tries to login in before confirming email, they are shown a page that says that their subscription is expired with a button to Pay Now. If they click the button, they are able to pay, even if they haven't confirmed email or, in the case of the plan requiring moderator approval, even if they have not been approved.
I will send you login credentials if you want to take a look.