I am the person who started this thread last May. Over the past 5 months, I have eagerly tried EVERY "fix" noted on this thread -- as well as ideas I've seen on many other discussions of this issue on other boards. Simply: nothing worked. (I did refuse to totally wipe my phone and start from scratch, and also refused to jailbreak my phone -- both were suggestions here.)
I have been fortunate, in that I have an AT&T unlimited 3G data contract, which allowed me to still get internet on my phone, but over 3G. However, a few days ago, I got a warning from AT&T that they would have to thwart my 3G data access by slowing it down, unless I stopped accessing so much non-wifi data. (In other words, they would not cut me off -- just add molasses to my wireless data access.)
So, I did the ONE thing it never occurred to me to try. I called AT&T, since they were the ones threatening my data access! Although the troubleshooter I had on the phone really had no idea about the wifi-loss issue with iPhones ... she said that she had a way of rebooting my phone remotely. I will be the first to say that I have no idea what she did -- but she did something centrally, and then it involved me powering off my phone completely, and allowing at least 5 minutes to pass. Then rebooting it. I did all this, and still no wi-fi. (And, yes, I had done a total reboot of my phone dozens of times to see if I could get wi-fi to work again.)
But, after I powered my phone up, I gave something one more try (I've heard many on this list say this worked -- though it never did work for me): I turned on Airplane mode (this turns off access to 3G, if anyone doesn't know what this setting is for), and re-entered all my network settings for my home router -- and, OMG! I have wi-fi again! And, yes, after turning off Airplane mode, I still have wifi and have had it for nearly 48 hours, without a single hitch.
I don't know if this will work for everyone with this problem. This thing is so wonky, that everybody's "fix" seems to be slightly different, with no single answer. But consider forgetting the futile banging of your head on the wall with Apple and looking for answers there, and just try calling your wireless phone carrier tech support. It might work for you!
Honestly, I feel like I've been delivered from ****! :-D
I will say that I'm hesitant to give iOS6 a go at this point. And may just sit it out until such time as I'm ready to upgrade to the new iPhone. (I have a 3GS currently.)