Using the hacked carrier file to enable tethering without jailbreaking only worked under OS 3.0.x. Apple patched up the hole that allowed for that to work in 3.1.
Furthermore, if you do a restore of the phone, you should be aware that with the 3GS, Apple can now control which versions of the OS you are or aren't allowed to install and use are. With the older models, you can downgrade to older versions of the OS without (much) difficulty, but as of the 3GS, that is no longer the case, and since the release of OS 3.1 back in September, 3GS owners are no longer allowed to restore to anything older. Which means that if you do a restore of your 3GS phone today, you will be forced by iTunes to go to 3.1.2. Even if you are currently using 3.0.x, iTunes won't allow you to restore to the same version you are already using. (Yes, it's dumb. And please don't shoot me: I'm just the messenger.)
There is no (easy/good/effective) way around this, because the way that Apple controls the restore process on the 3GS is through cryptography that has little chance of ever being cracked. There are a handful of lucky people (myself included

) who have the ability to downgrade to 3.0 on their particular phone because they were able to capture the communication between Apple's servers and iTunes during a restore of 3.0 on their phone (or had someone like Saurik do it for them), and can "replay" that communication with iTunes, but the window of opportunity for that has long since passed.
So if you want to keep on tethering after a restore, at this point your only option is to go to 3.1.2 and jailbreak the phone.
If you think that Apple's removal of one's ability to downgrade their software is dumb and anti-consumer, I encourage you to give them feedback to that effect. I'm planning to do so myself. There are plenty of valid reasons why one may need to go back to older versions of the OS (and maintaining tethering isn't one of them, so using that example won't strengthen your argument...please keep that in mind!). One such good reason is the OS 3.1 debacle that took place just a few short months ago. It took Apple a month to release 3.1.2 after that dog of an update, and in the meantime any 3GS users who were affected by the issues with 3.1 were screwed.
-- Nathan