I’m one of the idiots who got too eager to get the untethered iPhone 3GS jailbreak (had blackra1n, and then used SpriritJb so end up with a recovery boot loop).

But thankfully looks like there is a solution:

Preventing baseband update as a last-ditch effort [iPhone Dev Team]

I’ve confirmed it to be working and have the ipsw here http://www.multiupload.com/PHQTQNZNHS

Do note that you should make sure that you know how to use iRecovery, to get it out of the recovery mode.
And also a sim to activate it(specific carrier if its locked).
And more importantly if you want to unlock it you MUST use blacksn0w RC2! not 1. the new one contains a fix for the new 3GS