Subject Dealing with lost connections
In short, when a connection fails your code needs to detect that and do an explicit call to Disconnect or
ForceDisconnect and then re-open all queries, etc.

I know this isn't ideal and I would like to make it work more robustly than that. That's just where it as at present.
Fortunately, all of my applications are setup to handle this just fine. Knowing this ahead of time allows me to easily
produce applications and work flow accordingly.

What should never be done is try to do anything more than raise and exception or set a flag in the OnError events. The
OnError event as triggered right at the call depth to the API and there is more than likely important code that needs to
happen in exception handling before any additional calls to object methods should take place.

Jason Wharton