SurferTim:
Is it the serial monitor or the usb power that starts the wifi shield working? When it fails, are you still powering the Arduino with the usb cable? Or do you have the usb cable disconnected?
Its opening up the serial monitor that starts things working.
I can leave the USB cable connected and it won't start transmitting/receiving until I open the serial monitor.
Then it works great.
I close the serial monitor, but leave the USB cable connected, and it drops out within 30 seconds.