It's a tradeoff. You either support a bunch of versions on a wide array of different hardware, very badly (c.f. Microsoft -- we diss them, but to be kind, the problem they have set up for themselves is truly challenging), or you try to do a better job of support, in which case you must constrain yourself to supporting fewer options.
"After all, it's my iPhone, isn't it? Or is it?"<p>The phone hardware is yours once your subsidized contract is up with your carrier or you pay the early termination fee. The software is licensed. I don't know of any modern SmartPhone platform that makes juggling operating system versions easy.
I didn't upgrade my iPhone from 3.0.x to 3.1.x for months because I wanted to keep tethering through the unofficial carrier hole as my carrier then didn't support tethering. I ended up paying for the SIM unlock and porting my number away from that carrier.