>>Because, my understanding is the FILE() look for the files inside the application .EXE. And if it does not find it, it means, bad things are about to happen.
The exe is already loaded into memory when the error occurs. I know this because when conducting hack tests, you can defeat any walling/commercial encapsulation scheme around a VFP exe by finding the app that *has* to be unpacked into memory eventually so it can run, and shelling it out as an unprotected app.
So if the fxp is in the exe, it's in memory, not disk. For interest- could there be a %temp% folder for your login at the customer experiencing the error? If so, attempting to read a file in that location may generate file read error because it's not the user's %temp% rather than "file does not exist so lets use the one in the app" seen at other customers. What's the path to the prg in project manager and check the SYS() setting mentioned earlier to give precedence to versions contained in the exe.
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1