The easiest solution is to go to Home -> Menu -> Settings -> Applications -> Application settings -> Contacts Storage -> Clear data. This will wipe all data associated with the Contacts app. The phone will then resync all your contacts, but you'll have lost any Call Logs and Frequently Called numbers from your Favorites tab.
In future, you're more likely to get a quicker and politer response if you don't insult the very people who are taking time out of their lives to help you for free. None of the advice above was bad advice - it fixes this issue most of the time.
There are different versions of the OS floating around for a number of reasons...
Phones were released (the G1, for example) with insufficient ROM sizes to accommodate Android 2.0. It was a miracle that the G1 got 1.6.
Android was also heavily customised by some people - for example the Sense UI on the Hero. These customisations have to be upgraded whenever Android gets upgraded, and that takes a lot of time, effort, and money. Combined with the fact networks get a shed load of support calls whenever they roll out an update, it's a lot cheaper and a lot less hassle for them to just not bother.
Later versions of Android require a bit more from the hardware to run smoothly (CPU, Memory, etc).