Well it really comes down to the type of WAN referring to. Basically, when you attempt to access a table, you should go through a layer of code, a procedure, class, whatever, that can test for the existence of the connection. If it isn't there, then re-connect before trying to access the data. There are different levels of testing, for example for performance reasons you could declare a public variable which contains the connection number, then this saves having to disconnect and reconnect every time you access a back end. This can have a big performance gain, especially on the back-end because it doesn't have to re-validate your security credentials every time you access its' data. The downside can be your keeping a session open on the DBMS server. In an OLTP system, this is preferable. On a data warehousing/reporting system, you're more likely to fire off a query, get some results down to your workstation, then work on it for a bit before needing more data. In that scenario you don't need to keep a connection open to the DBMS, especially as each connection uses resources.
At a lower level, you may want to determine if the remote end is even reachable by doing something like a PING.
However, you're on Citrix, so the concepts are slightly different. The March 2002 edition of FoxPro Advisor contains an article on using Terminal Server which is a poor man's Citrix Metaframe - perhaps you could look at that as well.
I hope some of that helps.
Simon