Hey Scott,
I don't know if you saw the discussion going on elsewhere in the forum, but digi_guy pointed out that WiFi.SSID() works on the Oak, so you can possibly do some code that displays the return from that, to see if the your Oaks are somehow completely forgetting what WiFi AP they are supposed to be connecting to.
I'm using code like this on a 2.2" TFT LCD connect to one of mine (borrowing heavily from what digi_guy wrote), so
tft.setCursor(0,290);
tft.setTextColor(ILI9341_WHITE); tft.setTextSize(2);
tft.println(WiFi.SSID());
char myIpString[24];
IPAddress myIp = WiFi.localIP();
sprintf(myIpString, "%d.%d.%d.%d", myIp[0], myIp[1], myIp[2], myIp[3]);
tft.print("IP: ");
tft.println(String(myIp[0])+"."+String(myIp[1])+"."+String(myIp[2])+"."+String(myIp[3]));
It wouldn't be to hard to modify that so it can be output via Serial, and see if the Oak even knows which WiFi network it is supposed to be connecting to, and if it is able to acquire an IP address.