Hey there, I just had the same error trying to preserve my 1.59.00 baseband. Here's what I did, opened up TinyUmbrella and let it run the TSS Server. I did SHIFT+UPDATE like I was advised to preserve it, but no go. I got an Error 21 and it would not bother with it.
Frustratingly, I decided to go with TinyUmbrella running in the background and then SHIFT+RESTORE to 4.2.1. In the TinyUmbrella site they advice NOT to do this because TinyUmbrella would then not be able to kick you out of recovery mode. Another comment however mentioned that you could do that and THEN use the Greenpois0n jailbreak to jailbreak the device and you would then be fine.
That is exactly what I did. Ran Tinyumbrella in the Background, click on SHIFT+Restore on iTunes to iOS 4.2.1, my device installed the firmware and then I got the normal Error 1013. Finally, I opened up greenpois0n and then put the device on DFU mode and hit on jailbreak.
Be aware though that since the device is in recovery mode it can't turn off and then go into DFU mode, you gotta do it on the "Connect to iTunes" screen and THEN hit Jailbreak on greenpois0n. Good luck!