Oh for Chrissake, "Dter ic" you're completely ignoring the SHSH issue. Trying to restore to a firmware Apple isn't signing (like 4.1) will NOT WORK on a 3GS unless one of the following is true:
1. Your HOSTS file is redirecting all requests to Apple to go through Cydia's servers instead, and Cydia has your 4.1 SHSH file. Then Cydia will say "yes" to the restore request instead of Apple. Note that if Cydia has ever backed up an SHSH file for you in the past, it will continue to grab them for newer firmwares as they come out.
2. Cydia has your SHSHs on file, you pull them with TinyUmbrella by requesting them from Cydia instead of Apple, and you then use the TinySS server to fake Apple's verification process locally on your machine. When iTunes reaches out to Apple for the restore request, it goes to your own machine instead, and TinyUmbrella/TinySS Server says "yes" even if Apple normally wouldn't.
3. Same as above but you backed up your own SHSH file with TinyUmbrella back when Apple was signing for that firmware. Note that at the default settings this will actually request through Cydia first, which will redirect to Apple if it doesn't have it on file. In other words, by default pulling with TinyUmbrella has the same effect as pressing the "Make My Life Easier" button in Cydia, so Cydia's servers will cache the file that you pull and will continue to cache new ones as new firmwares are released.
metamaster is correct here.