Today we worked demoed the robot again at the same location, and experienced the same types of problems, but we did not lose control. While using wifi I was entirely unable to control the robot with the DS. The robot would connect, and the clickable parts of the UI would immediately freeze (so I couldn't enable/disable or switch tabs), but the battery voltage would update and the robot code indicator would flicker 1-2 times a second, just like before. Everything worked perfectly while tethered and so did all previous tests done this week (over wifi, but in an environment without much interference).
What was strange was that I was able to control the robot over wifi using
this Android app, albeit with occasional latency/connectivity problems. This app does not do much in the way of checking for a functioning connection to the robot, so it seems to be more tolerant of communication problems. Since we were under time pressure at the demo, I was not able to do extensive testing/comparison of the Android app and the official DS.
It seems like there is a subtle bug in the DS that is triggered by a bad connection. I would assume the DS should be able to, if not maintain control of the robot, at least not freeze when communication problems occur. I have no idea if this bug also exists when controlling a roboRIO.
I can provide logs tomorrow if they would be helpful.