Why can't Straight Talk just push the correct APN settings when connected to the network?
Since Straight Talk rides the AT&T network and all of their SIM cards bear the AT&T IIN, there are some additional technical hurdles, some of which are discussed and fleshed out here: http://forums.macrumors.com/showthread.php?p=16266984#post16...
Ideally, APNs would just be another value that the SIM card could carry. But I guess since packetized data over GSM predates the SIM card standard, we're stuck with this need to program them directly into the phone.
If you go into an Apple retail store and buy an off-the-shelf carrier-unlocked no-brand-stickers-anywhere-on-the-device Apple iPhone 4 or 4S at full price ($450/$550), you will still run into this, which is ridiculous.