Fortunately there is a loophole for the said problem which is you need to jailbreak iPhone 3GS On iOS 4.1 using Pwnage Tool to keep the older baseband, of course you are able to step forward to unlock iPhone 3GS of yours with the Ultrasn0w version afterward.
In overall, if your iPhone still in old bootrom mode, then unlocking the jailbroken iPhone 3GS running on iOS 4.1 is possible. And the following is the steps to Unlock iPhone 3GS on iOS 4.1 using Ultrasn0w
How Unlock iPhone 3GS On iOS 4.1 Old Bootrom Using Ultrasn0w 1.1-1
1. First thing first, you need to jailbreak your iPhone 3GS iOS 4.1 that still uses the old bootrom, because that's the unquestionable requirement in order to unlock your iPhone 3GS. To jailbreak it, then follow this guide.
2. Since your iPhone 3GS is already jailbroken using PwnageTool, now visit Cydia to unlock your older bootrom iPhone using Ultrasn0w 1.1-1. Active your iPhone to launch "Cydia", tap on "Manage" and then "Source":
3. In case ultrasn0w repo does not appear, you need to tap Edit button - it's on the top right of your screen, and then add the following url: http://repo666.ultrasn0w.com as the source just like in the below image:
4. Cydia will do the rest of job, which is updating your sources automatically. Just wait till its installation process finished. Once it's done, you now can search for ultrasn0w 1.1-1 app then install it, for it to unlock your iPhone automatically.
5. Restart your iDevice, now your iPhone 3GS on iOS 4.1 is unlocked, as the result you can use your iDevice with any carrier!
Note: For iPhone 4 users with the older baseband you can update to iOS 4.1, just follow the update iPhone 4 on iOS 4.1 but keep the 1.59.00 Baseband guide. So you will be able to jailbreak your iPhone 4 in the future when the new jailbreak tool is released.