Your business/design plan should never contain the phrase "force the user". People get angry when you make them do something. Imagine a user in a hurry who opens your nifty little app one morning only to discover you are forcing him to upgrade before he can use the app for what he needs. Imagine he's stuck out in the wilds having to use Edge to download. He won't be happy.
If you follow this plan long enough, one of your upgrades will inevitably introduce a noticeable bug. If you force users to use a buggy version they will rebel.
I have been conditioned by experience to cringe whenever I see "more features" used to describe a new version of software because this inevitably means feature bloat. Designers tend to keep grafting more and more features onto apps until one app does everything. This is particularly dangerous on a platform like the iPhone where making one app do to many things rapidly overwhelms the interface and the responsiveness of the app.
Edit01: My comment here http://stackoverflow.com/questions/2219734/how-to-update-an-application-after-users-pay-for-upgrade/2221999#2221999 might also be relevant to your plans. If your upgrade design cuts Apple out of the revenue loop, its a non-starter.