Been thinking about this some more. I think there's a perception problem with the subscription/2 years of free updates model, and perception is important for the customer. I think these might be too far from what people are used to. Perhaps a somewhat more traditional approach might work.
Traditional model - every so often a new version is released. New features for next version are worked on in secret, with perhaps some public glimpses of what's being worked on to hype the next version, when it's done everyone has to pay for the new version, new features are used to justify customers paying again.
Updated model - each year or two marks a new version of construct (again, perhaps with year numbers. If C3 is used for the name, it doesn't mean another rewrite, it is essentially C2.1, no different from the current development method, essentially C2 a year or so later. It is C3 in name only).
People can preorder the next version and get access to the 'beta', meaning access to the current versions. Finished versions are released, people can preorder the next to get the features as they're developed. Everyone owns their copy, no one is confused, people are hopefully comfortable.
Wolfire does something like this, with preorders getting access to the beta. It seems to work very well for them.