A nice post in quite a while, but there would be a difference to an "Open" license and an "Open Source" license.
I don't get the part where you say you get upgrades to a software for free once you've purchased it. What's the need of having the upgrades via an open source license? You can do the same closed source. Market will have alternatives, code is not unique but functionality can be.
Yet when you follow the idea of free upgrades, you might lose out in a couple of years (If the software is still in active development and is your main source of income). What you can additionally try is to offer incremental discounts on each upgrades and may lead this way to the free upgrade ultimatum.
Many companies already do the free one-or-two times upgrade thing already, and some even do the incremental bonus. But they still fail, cause price is a hindrance in the first place.
In my opinion its best to release a software under a commercial open source license, wherein the customers may download source code after purchase for free or for additional cost. But when you want to earn and earn, you got to be GOOD and deliver in time.
This way you can source code from other OSS projects and develop quickly and yet earn the same way. Its your idea, keep it strong and active and spawn other projects while at it so there exists a big enough income at all times.
However, your point wasn't all that clear to me, could you come again at the difficulty of current licenses? When your source is out, there's hardly you can do anything to avoid a fork spawn, if not with the same code, with parts of it.
The problem with people is that they think GNU GPL advises the use of giving away programs for free. The common thinking of "free beer" instead of "free speech" is set into their minds when they hear "open" or even "free" related to a software.
This page should help clear those doubts.