OP: are you saying you want to update your phone to 3.1.2 and jailbreak, or are you saying you want to stay on 3.0.1 and jailbreak?
If you like things the way they are now, you can easily jailbreak your iPhone on 3.0.1 using redsn0w 0.8 (not the latest 0.9 beta, which is for 3.1.2). This will not affect your carrier hack at all, and you will still be able to install MiWi.
If you wish to upgrade, you should
definitely use PwnageTool to create a custom firmware with which to jailbreak. This will allow you to maintain your current baseband and allow you to use the ultrasn0w unlock instead of blacksn0w, which causes a significant minority of users problems with WiFi. Even if you don't think you will ever need to unlock yourself, a phone with the old baseband is more valuable for resale.
Please note that if you do choose to upgrade to 3.1.2 you will have to take additional steps to reenable the tethering hack. Since you intend to install MiWi, however, there's not much to worry about; MiWi takes care of re-enabling the tethering hack for you.
blackra1n could potentially leave you with a tethered jb, which sucks balls if your phone ever dies because you have to get back home to your computer to fix it.
It is not blackra1n, but the version of the bootrom on an iPhone which determines whether a phone will have a tethered jailbreak. Using blackra1n on a phone with the older 359.3 bootrom will not cause it to have a tethered jailbreak, nor will using any other tool on a phone with the newer 359.3.2 bootrom cause it to have an untethered one.
But this is a moot point for the OP. Since he clearly states that he has firmware 3.0.1 on his phone and no phones that are subject to a tethered jailbreak ever shipped with that version of the firmware, the OP is guaranteed to have an untethered jailbreak.