I don't think they should charge for the upgrades. They make their money on the masses. If they are perceived as having frequent updates that keep peoples phones current with the latest and greatest features and fixes, then they will attract the masses and when the customers buys a new phone (which they will) they wouldn't consider buying another operatiing system because they were very happy with their current one.
On the other hand if you do charge people for upgrades and/or don't upgrade the operating system enough and the masses aren't happy. Then they will shop around and probably buy a phone with another operating system that does offer free/frequent upgrades.
It's simple really. If you exceed the customers expectations, your future looks bright. If you piss on them, don't plan on staying in business long.