The Verizon Razr M refuses to work on T-Mobile or ATT. You can flash its modem with the Australian radio image, but because that's not a perfect fit you're limited to Edge speeds. It would be nice to simply tell the phone to accept non-Verizon networks, but of course Verizon doesn't document how to do this. It turns out that the way to do this is to change a bit in the phone's non-volatile RAM from 1 to 0. Presumably this bit is the setting for "only work on Verizon in the US". The specific NV item is 8322, and it needs to change from 01 to 00.
Because I was running the Australian radio image I first needed to flash the phone back to the US version. Unfortunately all the NON-HLOS.bin links for the original version have dropped off the internet, but I found a copy of VZW_XT907_4.1.1-9.8.1Q-27-2-4_1FF.xml.zip and was able to extract the image. So other people can save the time, here's the US radio image for the Razr M. The Australian NON-HLOS.bin is 104857600 bytes while the US one is 49455104, so they should be easy to tell apart. I followed the same process I did before to flash the phone's modem, just with the new image.
I borrowed a laptop running windows 7, installed the Motorola USB drivers, and followed the instructions. Dispite following them very carefully it didn't work: I rebooted the phone, still no cell service, NV item 8322 still reads 01. After trying about four times, however, it finally took, and now the phone gets HSPA+ speeds on ATT (and presumably T-Mobile in refarmed areas)
Update 2013-07-21: After installing an over-the-air update the phone went back to "emergency calls only". Looking on the forum this hack looked like it would still work, and it did!