Many are having problems with receiving only low resolution MMS on T-Mobile, related to using an unlocked phone on their network with a User Agent that wasn't recognized. I found an easy way of receiving better quality MMS without rooting/hacking.
Download Go SMS Pro from the market.
Open Go SMS Pro and go to that app's Settings>Advanced>MMS Settings and change this:
User Agent: NexusOne ( SGH-T989 also works )
Put a check mark by 'Preserve image resolution.'
Next, go to the Go SMS Pro's Settings>Advanced>Important Tips and put a check mark by 'Stock SMS Uninstalled.'
After that, go to the Galaxy Nexus' APN settings (Settings>More...>Mobile Networks>Access Point Names) and make sure they say this:
Name: T-Mobile US
Proxy: <Not set>
Port: <Not set>
Username: <Not set>
Password: <Not set>
Server: <Not set>
MMS Proxy: <Not set>
MMS Port: <Not set>
Authentication Type: <Not set>
APN Type: <Not set>
Send an MMS to yourself to test it out. After you send a pic, you should then receive two versions, a high-res pic and a lo-res pic. If you successfully receive both the high and lo-res pics, you may now go to the Galaxy Nexus' Settings>Apps>Messaging and disable the stock messaging app. You should now only receive a high res pic when you send yourself an MMS and when others send you an MMS.
I found that you must wait until the very last step to disable the stock messaging app in the GN's settings for this to work. Feel free to give this a try and post here if this works out for you guys.