I had the same problem with 2.0.1 - on both the 3G AND the touch. With the touch it was restore errors 1604 a few times, 1602 a couple times, and with the phone it was 2 (I think)... anyway, this page helped a ton:
http://support.apple.com/kb/TS1275
For me (this is in XP Pro) it was a matter of doing a complete uninstall and re-install of all Apple programs, choosing a new USB port (one in particular seems to work for this problem, God knows why), and creating a new user. I would do the following - and it worked for both the touch and the phone:
1. plug phone into USB and put it in restore mode (hold down the home and sleep/wake buttons until the apple logo appeared (about 10 sec.) - the connector/itunes image will appear
2. log into new user, and itunes would start immediately and tell you to restore your unit
3. start restore/update process
4. process fails (predictably, for me anyway) - 'unable to restore, yada yada'
5. unplug unit and restart computer
6. log into same new user
7. put phone in restore mode and plug it in. If iTunes starts, close it. (Mine never started at this point).
8. navigate to the up to the Software Updates folder (i.e. c:\\documents and settings\[user name]\application data\apple computer\itunes\iphone software updates\) and choose the new firmware file (iPhone1,2
2.0.1_5B108Restore.ipsw in this case - you will have downloaded it during the previous failed restore attempt).
9. double click on it
8.iTunes will start and give you dialog boxes - agree to everything
10. try not to look - water and watched pot and all that.
The first time I did this (on the iPod touch) I wasn't expecting it to work so I went and had a shower. I came back and was just finishing up - 2.0.1 on the touch. I celebrated. By myself - it was a sad moment, but I had restored the touch to factory settings (1.5) about 10 or 15 times trying to get the new firmware. So when my 3G bricked (I had to try the upgrade just straight up), I immediately went to the user I had created for the touch and repeated the steps that had worked for it. Bingo dingo, 2.0.1 on the 3G.
I have no idea if this will work for any of you, but I sure hope so.
Message was edited by: danomack