#4 - Attract new users by improving the app. Those major improvements you are talking about should be something users would actually have use for, right? Especially since you want them to pay for them...
Developers providing decent free updates to apps I've purchased are very likely to have me buying other apps they release as well, and I'll most certainly recommend the apps to other people. It is obviously not entirely easy to predict how revenue from that would compare to upgrade fees, of course.
One practical problem with paid updates could be that the
Mac App Store FAQ states that updates are free. Paid updates to the same app could be tricky, but perhaps a discount on a separate app (the new version) if you already own another one could work?
On the other hand, there are already developers who use paid updates today with the current rules. One of the apps I had paid for suddenly had all functionality removed, and a mandatory in-app purchase added to restore the functionality it had when I bought it. Needless to say I will never ever again give any money at all to that developer.
Had the mentioned update been released as a new app and left the one I bought functional, I probably would have paid for the new one it since I used the old one every day. But trying to force existing customers to pay again for the same thing? Not a great way to deal with customers IMHO.
What looks good on paper won't necessarily translate to a positive cash flow in the future. Don't alienate your users, be gentle when trying to squeeze more money out of them.