I have some similar issues that I think that I might have just solved with the help of a fairly cryptic fix...
I've got a iPhone 3GS that wouldn't take incoming calls/texts, make outgoing calls/texts on either Wifi or 3g - until I turned on & off the Airplane Mode. Then, at best, it might work for about 30 minutes - and at times, within 5 minutes, it was dead - again.
Then I found this website:
http://www.alvinpoh.com/cant-call-out-with-the-iphone-fix-to-the-call-failed-pro blem-with-iphone/
I took the advice (admitted, it's quite a dated solution for iOS 3) and now I'm actually able to USE my phone!
After doing this, I've already been up and running for the last two hours with only a single dropped call (which, admittedly, could've been from coverage). I've made 5-6 calls, been able to check email and use web-heavy apps - both of which I couldn't do before (without turning Airplane Mode on and off). I hope this helps someone out there!
Message was edited by: gimpi