I'm sure this is not an answer for your problem, but your problem reminded me of a gotcha that's gotten me before:
If you have hide file extensions for known file type turned on in Windows Explorer you can see a file called table.fpt but in reality the file is named table.fpt.fpt
This has gotten me before when trying to do a filetostr() on a text file and it doesn't work because the file you see called somefile.txt is actually somefile.txt.txt
I HATE the option to hide file extensions for known file types and always turn it off.
It really sounds like your application is finding the table somewhere else (perhaps copied unintentionally), where the .dbf exists but not the .fpt.
Brandon Harker
Sebae Data Solutions