Update 2013-04-04: This way is limited to EDGE/2G; there's a better way.
Perhaps you have a Motorola Razr M. It supports GSM in addition to Verizon's CDMA, so it should work on T-Mobile and ATT except that it's been set to reject SIMs from non-Verizon US-networks. The Australian version of the phone is almost identical, but doesn't have this restriction, so what if we convince the phone's modem that it's Australian?
Downloaded the android sdk to get the adb and fastboot commands, and then download the Australian radio image (linked from here). Connect the phone to your laptop, enable USB debugging on the phone (Settings > Developer Options > usb debugging enable) and then run:
adb reboot bootloaderThis will tell the phone to reboot into a state where you can update it. The screen will look ugly and retro, with white text on a black background. Then run:
fastboot flash modem /path/to/NON-HLOS.binThis replaces the software for the phone's modem with the Australian version that doesn't have the same carrier restriction. NON-HLOS.bin is the Australian radio image's filename, and you need to give the full path to it (perhaps ~/Downloads/NON-HLOS.bin).
Once the command has finished, reboot the phone, using its power button. When it comes back up it may still say "this SIM is from an unknown source" but ignore that. It should now be able to make calls, browse the internet, etc. Testing on ATT I only got 2G/Edge data; still need to test on T-Mobile but it's probably going to be Edge only as well. I'm not sure why 3G isn't working on ATT; the Australian version lists the same 3G bands as the American one.
(I wanted to do this because given that I already have a phone the cheapest Verizon plan was about $70/month while the cheapest T-Mobile plan was $30/month.)
Update 2013-01-03: When the fastboot command succeeds you should see something like:
sending 'modem' (102400 KB)... OKAY [ 7.954s] writing 'modem'... OKAY [ 14.478s] finished. total time: 22.433sIf it runs much faster than this, something probably went wrong. If it says:
(bootloader) Variable not supported! target reported max download size of 31457280 bytes Invalid sparse file format at header magi sending sparse 'modem' (28072 KB)... OKAY [ 2.279s] writing 'modem'... (bootloader) Unknown chunk type FAILED (remote failure) finished. total time: 3.289sThen your copy of fastboot doesn't support the Razr M. I don't know why this happens, but if you're on a mac these binaries work.
 I got one as a Christmas present.