You may find that using FLUSH in a timer helps. I did that in a hospital application and in 5 years never lost anything, but we also closed tables after updating as well, and used a Novell server.
But remember that only flushes data to the computer VFP is running on.
You would need to make registry changes to turn off the UseWriteBehind and Caching options on all computers in the network. That will inevitably slow things down but make it more likely your data gets saved before the power goes off.
Best thing to do is, if it's users turning it off, retrain the users.
On a related issue (in case you're using Win2000).
Microsoft recommended these changes to us to solve 1104 (file not found) and 2005 errors on a Win2000 based network ...
On the Windows 2000 sp2 Terminal Servers we added the following registry
Keys:
HKLM\System\CCS\Services\Mrxsmb\Paremeters
OpLocksDisabled
DWORD: 0x1
HKLM\System\CCS\Services\LanmanServer\Parameters
CachedOpenLimit
DWORD: 0x0
HKLM\System\CCS\Services\LanmanWorkstation\Parameters
UtilizeNTCaching
DWORD: 0x0
HKLM\System\CCS\Services\RDR\Paremeters
UseWriteBehind
DWORD: 0x0
On the Windows 2000, sp2 File Server which hosts the FoxPro 6
Application we added the following registry keys:
HKLM\System\CCS\Services\LanmanServer\Parameters
EnableOpLocks
DWORD: 0x0
HKLM\System\CCS\Services\LanmanServer\Parameters
CachedOpenLimit
DWORD: 0x0
HKLM\System\CCS\Services\LanmanWorkstation\Parameters
UtilizeNTCaching
DWORD: 0x0