I downloaded version 3.99 of AdvancedHMI. It did change the errors I am getting a little. When I am running, and I quit all PLC reads so that I eventually get the ConnectionClosed event to occur, I now get the exception "No response from PLC". It stops in EthernetIPforCLXCom, line 444.
If I step through my program and stop just prior to a Read, and wait for the 20+ seconds, I get "Read Failed. No Response from PLC(22), Status Code=-22".
I have found a way to work around this by keeping the connection open, so as far as I am concerned it is a closed issue. If you are interested in looking into this further, you can create your default application and add an EthernetIPforCLXCom object, a Timer, and a Button. Have the button toggle Timer1.Enable. In the Timer logic, add a read to a PLC tag. Enable the timer, and then disable it. Leave the timer disabled until the ConnectionClosed event is fired. If you enable right away, it seems to recover. If you wait a while before enabling the timer after the ConnectionClosed event, it will sometimes fail. It is not nearly as consistent as my project, but it will eventually happen.
Thanks for all of the help.