To add some info to this topic, I also add the rMQTT library to my project (so now I'm using the WIFI server and and setup a simple connection to cloudmqtt.com). The ESP8266 does the same thing in that after 2 minutes the radio "seems to go to sleep". If I try a ping - no response. Now what I noticed is if I broadcast on a subscribed MQTT topic, the ESP8266 sees it near instantly (and the ESP8266 can respond with a publish back to the broker just as fast). If I try the ping test right after that, the pings respond immediately. Interesting (i.e. strange) behavior. The WiFiServerSocket seems to take a while to establish a connection after an idle greater than 2 min, while the WiFiSocket used by MQTT communicate near real-time no matter how long it's been since the ESP8266 has sent/received data. Note as I mentioned originally this isn't a B4R issue and more to do with the underlying ESP8266 libraries and how the h/w is getting setup.
My thought is that the MQTT client code uses a persistent connection to the broker and since it never seems to break after 2 minutes, this rules out the WIFI radio being turned off ( as I once thought)
Just posting if anyone else encounters this behavior.