Since you've pointed out that you're getting TCP errors on your network before zm reconnects (TCP Retransmissions in particualar): I'm not dealing with the TCP/IP layer in zm, that's the responsibility of the kernel. It seems that your router/nat has troubles to keep multiple connections open, it just closes them after some time.
I can monitor the network, but the funny thing is the network only does this with your miner, it does not happen with any other program or configuration. and it happens only on 1 computer. if what you suggest were true, it would have several disconnections for all computers at the same time. But it doesn't. Everything points to be something in your code triggering some weird configuration on the latest ubuntu update (since I updated both ubuntu and your miner at the same time).
I'll take a look at the NAT/routing tables in the kernel and see if I can find out what is going on.
Sigh.