I do agree that the problem is a software and carrier combination.
I had 2 iPhone 4 in the same house, using the same wifi and carrier. I had problems with one for over 6 months and have tried all fixes that were mentioned on this thread. None fixed the issue while the other phone never had this problem. You would think that it's an app that is causing this since that is the only difference between the first and the second. Bought 2 new iPhone 5 and started by restoring the first. I faced the same problem! I reset the phone to factory settings twice, one from the phone and once from iTunes after updating to latest 6.01 release. Used a brand new Mac with no previous iPhone backups on it to set it up as a new phone. Installed apps from scratch and still had the same problem! One thing was never erased even after 2 wipe out was the stocks app info and the original weather app (weird but not sure it has anything to do).
UPDATE on latest troubleshooting: Switched sim cards on same network
I inserted the second SIM card (same carrier but never had a problem) in the iPhone 4 that always had problems and while keeping all apps and data on it. Then I inserted the first SIM card that I always had problems with, in the new iPhone 5 that has a clean activation with not a single app. I went out of the same wifi holding both phones to a NO signal area then came back to where there was signal. Results were that the new unused phone didn't get back the 3G network until a reboot while the iPhone 4 had its 3G kick in immediately. Although I am not happy with the results but I am glad to report that losing your backup and instal fresh will not help (at least in my case). My guess is that the server that is hosting my number on the carrier side is not refreshing. Remember that the other number is with the same carrier too.
P.s. I used the same iPhone 4 on the AT&T network in CA and NY and never this issue. This is happening on the Alfa network in Beirut.
Hope this helps some of you to either confirm this scenario or prove it wrong