OK, an update after a few weeks. I found that despite using the freezer trick the Wifi would fail again as soon as the phone warmed up. This time I tried the full 'fix' suggested on the web of getting the phone to over temperature then stick it in the freezer once switching fully off. So far so good! I muse admit I'm coming round to believing it's more of a software issue now. Particularly as someone has just reported the same with iPhone 6.
The strange thing was that when I switched the iPhone 4S on after taking it out of the freezer I got WiFi (toggled correcy in Settings) but no WiFi symbol on the top of the main screen. I could browse the Internet. Oddly the WiFi button on the drag up window showed the WiFi as disabled. As soon as I switched the drag up button on, the WiFi symbol returned. I'm wondering if the whole problem is caused when the user interface (UI) gets out of sync with itself and somehow a flag gets set which incorrectly determines a WiFi hardware fault. Maybe this flag gets reset when you force the phone to overheat.
I've found that the UI is very clunky in iOS 8. Often when you toggle a switch for Wifi or Bluetooth it doesn't actually register when you come out of the settings page (you go back into settings and its toggled back). I've noticed this a lot when trying to set Airplane mode too. Apple should look into these UI issues as they are bound to lead to software/hardware sync problems. I'm staggered that Apple test team haven't spotted these problems. Do they test everything properly I wonder?
IF the problem was purely hardware why would users report months of no failure after attempting this 'fix'? I think it's time Apole work with their customers to sort the problem out once and for all. I'm wondering if they've tried to reproduce this in the lab. If I was behind the Apple development team I'd be chomping at the bit to get hold of a phone with this fault to help find a proper solution.
I'll let you know if the fault returns but in the meantine I'm giving the UI plenty of time to register changes in settings before exiting the settings page.