I've constructed a workaround to reset the arduino (and aruduino wifi shield) when the wifi server is detected to be dead by rigging up a simple circuit that connects:
digital pin 8 -> 1kohm resistor -> Base pin of NPN transistor
Emitter pin of NPN transistor -> GND on Arduino
Collector pin of NPN transistor -> Reset pin on Arduino
Using this code, I write a HIGH to pin 8 and the whole shebang reboots and reconnects. Obviously this is just a temporary workaround until a fix is found in the example, libraries, or firmware (wherever it may be).
// Reset arduino if the server is dead.
if (server.status() != 1) {
digitalWrite(8, HIGH); // Reset Arduino
}