Ion cube can be a must prerequisite like php mysqul, if your server can't have it then better to get cloud. Payment can be yearly or every two years in advance, so customer already paid and can't change his mind.
coding wise it is possible to place timer on these features that can stop features if no renewal is made. Invision can even stop all forum completely remotely for violation of license terms. Clients will upgrade to keep forums working and to get security updates and premium features their community value. If customer decides to downgrade, it can be done from dashboard like upgrade. Ion cube can be used to secure php code if this is a concern
As I said in my thread, why classic license renewal is only one price (200usd)?. Offering more options like 200 300 500 (or 200 and 500 only) per year and add more features to each plan like courses and live updates. Cloud customers are unaffected and self hosted people who need more features will pay for it, and invision will get extra cash.