IMHO the original posts and many of the comments are mixing up very different and somewhat unrelated issues.
Issue #1
The SIM card, as a piece of plastic used to identify your phone number and mobile operator, is indeed pre-historic technology. It's quite unbelievable that we're still using such a system in 2012. Unless I'm missing something, what a SIM card does could easily be done in software and this is part of what the OP is suggesting. I don't think that there is any doubt that the SIM card, as a data / identity storage system should be retired.
Issue #2
The issue of operator-issued mobile phones being locked to that specific operator is unrelated to whether or not the phone uses a SIM card. A phone can be locked to a specific operator, regardless of whether or not it uses a SIM card. In many countries, operators lock all their phones, meaning that you can't use a SIM card from any other operators in your phone.
If you live in a country where all phones are sold unlocked or where phones can be unlocked after a certain period of time, it's almost certainly because mobile phone operators are being forced by law to do so. Not because the phones use SIM cards.
So the freedom to switch between operators at any time isn't a technical issue linked to SIM cards. It's just a matter of whether or not operators can legally prevent you to do it. If operators can legally lock their phone, they'll obviously do it. Why wouldn't they?
It's worth noting that if you want an unlocked phone, you can always just buy it straight from manufacturer - there's nothing that forces you to buy a phone from an operator (apart from the price, but I'll touch on that later). So this issue is actually already solved - it's just that many people don't think their freedom to switch between operators is worth the upfront cost.
Issue #3
Being tied to a long contract and not being able to switch between operators and plans at anytime is another unrelated issue. But then, it's a pain you choose to have. There's nothing that forces you to sign up for a contract. Most operators offer pay-as-you-go plans with no contracts. In the UK for example, well over 50% of the population is on pay-as-you-go (or was the last time I looked) so pay-as-you-go can definitely work.
Obviously, operators much prefer when you sign up for a contract. Just like tech startups go crazy for subscription business models - it's nice to get money automatically every month. So they try to trick people into signing up for long contracts by offering subsidised phones. And many people fall for that.
What it all comes down to.
Most, if not all these problems, arise because of the perception by people in most countries that mobile phones should be free or reasonably cheap. People don't find it a problem to spend £600 on a laptop. But tell them they have to spend £600 to buy a new phone and they freak out. This is despite the fact that many people do the same thing on their phone as they do on their laptop and use their phones a lot more than their laptop.
It's this way of thinking that results in far too many people signing up for long contracts with operators, allowing operators to subject them to their every will. Changing this perception and making people buy mobile phones in the same way as they buy laptops (i.e. without subsidies and straight from the manufacturer) is what we would need to really change the statu quo. Whether or not phones use SIM card is merely a small technical detail (but one I'd love to see fixed nonetheless).