I upgraded my non-functioning iPhone 3G to the latest version (4.2.1 I think) on Sunday........
........and it works again!
Previously it was fine with 3.2.1, dead slow with 4.0, failed to finish upgrading with 4.0.1 and upgraded (eventually) to 4.1, but with no data connection on 3G. It was working on WiFi and the phone worked on 3G, but no data connection on 3G.
I had tried upgrading it and restoring it several times, all apparently successful, but still no data connection.
So on Sunday I thought "Why not? It is useless now anyway".
It upgraded without any problems. I had to wait until Monday to test it as I have no mobile signal at Home. On Monday, I switched it on and loaded the App Store - perfect.
Success at last.
Of course, I still haven't risked my iPad with 4.2 yet