Maintenance should not be expected for free. New features should not be expected for free. How much those two pieces of work cost should be dependent on future expected earnings for the developer and the perceived value to the consumer, not on whether or not they are "expected" by users.
For an argument that starts out pandering to the "users perspective", I don't see how having a dedicated upgrade process is less "pro-user" then in-app purchases. Not only does it introduce more testing (altering the expected earnings vs. perceived value equation) but it also inserts delivery and design issues for the purchases which wouldn't be necessary with an upgrade system.
To me this looks lose(devs)-win(apple)-push(consumers)