As a developer with Apps in the MAS, I can see where this makes sense from the developer's perspective. But I think it is a mater of laziness on the dev's part. Let me explain: From a users perspective, this would suck. It is an antiquated system. "I have to pay for an upgrade just so it works on the new OS?" Think of how many times you've had to do this in the past, and how you felt. Apple will act in the best inter…
How would you architect your app to have separate, modular features?
How would I reliably test all combinations of all features?
How do I properly advertise app functionality without deceiving users?
How do I properly support users when they have issues? (Depending on what they've purchased, they could have a very unique set of features and UI enabled.)
You're taking a hammer and using it to tighten a screw. Instead, Apple should be offering the proper tools we need to offer reasonable app upgrade paths.