The root cause turns out to be new functionality in the 10.x client for sensing a network connection based on the result of a Windows API call which is made every 3 seconds.  This call (pnagent calls InternetGetConnectedStatus, which in turn calls IsNetworkAlive) has been available since Windows 2000, and essentially "guesses" as to the state of your connection based on traffic.  If you have a very quiet network, as we did on this particular wireless network, pnagent will go offline after roughly 300 seconds of network inactivity.

<!--more-->According to Microsoft, this Windows API call was never meant to be used in this way, and should never be substituted for an actual connection attempt, but Citrix isnt changing this as they rely on it for the offline application functionality of streamed apps.

The new functionality in the private client that resolves this issue involves a registry value that can be set to determine whether it should use the normal 10.x mode of sensing network connectivity, or if it should attempt to open a socket to the pnagent server before it assumes there is no valid network connection.  The default is the normal 10.x mode.

This functionality will likely go in the 11.2 client, as the 11.1 client is mostly application virtualization fixes.  11.2 isnt expected until late spring of 09, so if you are encountering this issue, you may want to request the 10.224 client.