10/3/2012 UPDATE: I can confirm that this also works on the iPhone 5.
pList editing in iOS 5 and restoring with iBackupBot on a non-jailbroken iPhone has never worked for me. Something in iOS always resets the APNs to the non-working default "phone" settings. It does the same thing in iOS 6 too.
The only way I can get data & MMS working on a non-jailbroken iPhone is by:
1. Opening the Notes app (or any other stock app)
2. Going to Settings > General > Network
* In iOS 6, go to Settings > General > Cellular
3. Taking the Straight Talk SIM out and putting in a T-Mobile SIM (can be brand new & unactivated, which I used on mines)
4. Go into Cellular Data Network when it shows up
5. Immediately put the Straight Talk SIM back in
6. Multitask between Cellular Data Network and the Notes app back and forth until a signal from Straight Talk comes in and the default non-working data & MMS APN are automatically entered.
7. Once the APNs show up, edit them manually
8. Go toggle Airplane Mode on and off, and reboot the phone
Data and MMS now work fine.
UPDATE NOTE: If for some reason the Cellular Data Network doesn't show up and you have an iPhone locked to one carrier, iOS may go back to the gray initial setup screen (don't worry, your phone's settings or anything else won't get reset) or display "Activation Required". If it does this, don't do anything. Put the original SIM back in and wait for your phone to get a signal bar again. Once it does, QUICKLY continue through the setup (or unlock your phone if you got the "Activation Required" popup) and go back to where you'd find Cellular Data Network in Settings. It should show up there for a few seconds.)
MMS Proxy: 184.108.40.206:80
MMS Max Message Size: 1048576
MMS UA Prof URL: *blank*
I can confirm 100% that this method still works in iOS 6 GM.
Google "Straight Talk iPhone HowardForums Wiki" and what I explained above is on that page too. The entire site is down as of this post so I explained it as best as I could.