It's hard to say. Are you able to ping the HUB5000's when you see the detaches? Do the channels eventually re-attach, or are you having to reboot things or restart programs?
There are plans to support latching device state even when channels get closed - but I'm not sure about a timeframe for this. I'd also like to expose keepalives config for the HUB5000 so things can stay connected even through network issues.
On the client side log (and server side as well for that matter) - do you ever see keepalive failures, or just the IO failures I see in the log you posted?
Did you make any progress on this? I'm prototyping a setup now with a Hub5000 and seeing similar disconnects. I'm using python.. and running isAttached regularly and I don't see the drops there.. but when plotting sensor data I see long periods where the values don't change... then change suddenly and stay flat for another long period. That's partly a side effect of my code.. (repeats the last value if not updated) but not sure what's going on with it. I have reconnect logic.. but it's not getting triggered because the explicit checks for channel status are usually good.