I have been having the problem of switching between two APNs using my HTC Dream (Cyanogenmod). It is irritating since my 3G settings are different from my MMS settings (does not affect GPRS users). I have tried many suggestions but nothing work. I finally found out the reason for the problem.
Make sure the MMS Settings are as below:
(By the way, I am using Digi’s excellent 3G services)
Name: DiGi MMS (anything you want here)
Server: not set
MMS proxy: 203.092.128.160
MMS port: 80
APN Type: mms
I added the items in bold, and voila, it works.
By the way, for my 3G settings, I added APN Type: default.