I had the same problems with WiFi Tether working only on 4G even with the latest version (3.1-beta5), the unlocked (i.e. hacked) Sprint Hotspot only on 3G, and Barnacle not at all.
So I gave WiFi Tether some tough love... While I've uninstalled and re-installed it many times with no joy, this time I cleared data (via Menu / Settings / Applications / Manage applications / WiFi Tether / Clear data) BEFORE uninstalling WiFi Tether. Then after re-installing, now it's working on 3G or 4G... I can switch 4G on and off multiple times and it all works. I'm not 100% sure that the "clear data" thing was the silver bullet but I'm not going to mess with it any more since it's working now.
I'm not terribly optimistic that it will continue to work on 3G, but at least I know one way that it DID work and hopefully I could get it to work again if it fails.
FYI, here are the settings I'm using:
Version (latest on code.google.com): 3.1-beta5
Device-Profile: HTC Evo 3D
Setup-Method: Auto
Enable WiFi-Encryption: On
Passphrase: hey wait a minute I'm not telling you that!!!
Hide SSID: Off
Change Channel: didn't touch it
WiFi-driver reload: On (which was the default)
Enable Access-Control: On
Change Lan: didn't touch it
MSS clamping: On
Routing fix: On
Change preferred DNS: didn't touch it
Change alternate DNS: didn't touch it