We should probably post our device type when stating if this method works or not. I've seen on other forums that people with 1st generation iPhone were able to bring it back to 2.2.1 with no problmes, while 3G iPhones were troublesome.
I'm on a iPhone 3G, and I get the exact same (1604) error as the guy above.
I cannot restore to 2.2.1 via any of the stated methods, as it gives the error on "preparing the device for restore" (or smtn like that) stage, even before it begins actually applying the old firmware.
1604 is under Windows, under OS X (10.6) the error is 21 (if I remember correctly) and the result is exactly the same.
Can't downgrade, but I can make 3.0 work again either via quickpwn (by just running it, it automatically makes the device visible in itunes) or by applying the 3.0 update again.
Any advice on this 1604 error will be appreciated ...