>>The first thing I'd check for is power problems. Is every machine plugged into a UPS? Are there power spikes or dips?
>>
>>Tamar
>All machine under UPS i think no... But the server in under UPS and working using terminal service this should be sufficient...
The RDC will keep the process running for a while after a workstation loses it (connection, power). The while is a server setting - I think 20 minutes is the default. Then it will kill the process, but I'm not sure how - there are several signals that OS can send to it to tell it to quit, and I know that some of them have changed since the end of fox. For instance, when task scheduler tells the process to quit, Fox doesn't know that signal and doesn't react. I guess after a while the app would be forcibly killed, which means its buffers are left in an unknown state. Now with any transaction handling I guess the buffers would be flushed on each save, but then I really haven't used dbfs in a network since... I'd say 2012, so I actually don't know.
You may find out which signal is sent to the app when terminal services try to tell it to quit - bindevent() to windows messages, and log each one of them, then see which ones were received after you shut down the workstation. Then just write some code to react to that specific message by closing all tables and quitting elegantly.