In case you have unlocked your iPhone 3GS / 3G by flashing iPad baseband 6.15.00 with ultrasn0w 1.2 on iOS 4.2.1, and have issues while restoring your device, here is Sherif Hashim the guy behind ultrasn0w unlock tool, has posted a simple guide showing how to restore your iPhone 3GS / 3G to avoid iTunes errors.
Note: To restore your iPhone 3GS from 4.2.1 to 4.1, you must have saved SHSH blobs for iOS 4.1.
For PwnageTool users:
A : If you are on Mac and use PwnageTool: If you used pwnage tool then you will have to create a “new” custom 4.1 or 4.2.1 and say “No” when you are offered the BB update to 6.15.00 since you already have it, then build the custom ipsw and restore to that.For Redsn0w users:
B : If you use(d) Redsn0w:How to go again to iOS 4.2.1:
B.1: If you are currently on 4.1, then you can restore to official 4.1 again, and when you see error 1015 pop-up, you kick your device out of recovery mode using TinyUmbrella, use redsn0w and don’t check “ipad BB update” because you already have that Here Is How To Restore iPhone 3G And iPhone 3GS While On Baseband 06.15.00 And Having Issues icon smile
B.2: If you are currently on 4.2.1 then you’ll have to restore back to 4.1 (because 4.2.1 will not allow you to kick the phone out of recovery when 1015 occurs due to the silly BB / iOS mismatch check added there) , then do the same steps as CASE-1.
If you want to go again to 4.2.1 your only way is to use a custom 4.2.1 done by pwnage tool in the same steps mentioned in A .Try Hashim's methods above to restore you device between 4.2.1 and 4.1, it worth trying. Don't forget to tell us about your experience.