To the OP and any others trying to downgrade, I'm going to type this up as simple and as plain as I can so all can understand.
You can downgrade to a specific firmware ONLY if you have shsh blobs on file.
4.0 -> 3.1.2 Successful = (you have blobs on file on Cydia's server)
4.0 -> 3.1.2 Unsuccessful with 3194 error = (you don't have shsh blobs on file, therefore you CANNOT downgrade)
The same applies to 3.1.3 and other firmwares. If you are running into problems downgrading and you are following all steps exactly as written up then you most likely did not save your shsh blobs DURING THE TIME THAT APPLE WAS SIGNING THEM.
Back when you Jailbroke your ipod or iphones for 3.1.2 or 3.1.3 and logged into Cydia for the first time you would have seen an option that says "make my life easier". If you clicked on that option then Cydia saved your SHSH blobs for that firmware that you were running on his own server. When you go to downgrade and you put in a new server in your hosts file, what you are actually doing is telling itunes to look on Cydia's server to authenticate the firmware that you are trying to downgrade to. If he has your blobs on file then everything goes okay and you don't notice any problems. If he doesn't have your blobs on file (you never clicked "make my life easier) then you get errors and will be UNABLE to downgrade to that firmware.
What most people don't realize is that this all happens in the background. So to the average user it either works, or they get errors and they come looking for answers on here. I was in that boat just a few weeks ago. In the end, it won't matter what firmware you download from what site and what guide you follow, you either have your shsh blobs on file and can downgrade or you don't have them on file and you'll get errors. Pure and simple.
A good way to know if you have SHSH blobs on file is to open Cydia and check the top of the screen. It should say something like "Cydia has SHSH blobs on file for this device on 4.0" or something like that.
Another good way is to download TinyUmbrella. I believe that tells you also what Cydia has on file for you device.