Also note that the iPhone4 is now offered for free with most upgrade plans. If you have a 3G still kicking around on a regular plan, the upgrade path to (at least) the 4 isn't painful.
It's not free per-se. It requires a 2-year commitment (3 years here in Canada). Agreeing to a 2-year commitment to get a 2-year-old phone is probably a bad deal (especially given Apple's lack of support for the less-than-4-year-old iPhone 3G). I don't expect a high percentage of people to go for that one.
If they were planning to have a cell phone for the next two years anyway, then it makes little difference. The commitment reduces their choices, but if they weren't planning to change then it doesn't much matter.
If they were planning to stay with their current provider on their current plan, perhaps.
Off-contract:
Customer: "I'm thinking of switching to provider B as my bills are high."
Provider: "I'm sorry to hear that, can I knock $15 off your bill?"
On contract:
Customer: "I'm thinking of switching to provider B as my bills are high."
Provider: "Certainly, that'll be $200." (Or your remaining ETF amount.)
The other thing is that there has been over the air upgrades since iOS 5, so people do upgrade their iOS version.
From my multiple app stats (thousands of users), less than 2 percent run iOS < 4.3.
98% run iOS 5 or higher.