You could try going to a remote user's site and running a ping -t until you see some kind of high latency cropping in - but I suspect a sustained ping would keep the connection alive.
I do suspect ISP - or even firewall/router timeouts - but try these settings on your Citrix server(s) as an extra measure. If nothing else, it will prove to your network guys that you are doing something to enhance the availability of the Citrix server(s);
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Control
\Citrix
ICAEnableKeepAlive REG_DWORD: 1
(For more details, take a look at CTX708444 - this value can be increased to 60)
Also try this;
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Services
\Tcpip
\Parameters
TCPMaxDataRetransmissions REG_DWORD: 6
This increases the number of times the TCP stack will retry failed data transmissions from its default value (3), so will double the number of times the server resends the client a packet that was lost in transit on the Internet.
Of course, it will only work if packets are getting lost - which may not be the case.
Hope this helps CitrixEngineer@yahoo.co.uk