I originally pwned my iPhone with 2.1 using the unofficial method. When the dev team released Pwnage for 2.1, I figured I should do it again using the official method, so I created a custom firmware but kept on getting the 1600 error even when restoring from DFU mode.
I tried putting the phone in DFU mode and clicking Restore to apply Apple's official 2.1, which worked fine, but then I still kept getting 1600 when trying to apply the custom firmware. I did this about 3 times with the same results.
However, I finally got it work. For some reason, I had to put the phone in DFU mode and option-click Restore and then select Apple's official firmware, which seemed take longer to restore than just simply clicking Restore, even though the same firmware was being used. After that, I put the phone in DFU mode again option-clicked Restore and selected the custom firmware, and everything worked fine.
So, in summary, this is how I fixed my error 1600 problem:
1. Put iPhone in DFU mode and option-click Restore and select Apple's official firmware. Be sure to option-click and not just click, even if the firmware is stored where iTunes expects it to be.
2. Put iPhone in DFU mode and option-click Restore and select the custom firmware.
Hope that helps those of you who are having problems.