After Googling the issue, I have the following thoughts...
First to parrot other suggestions, ALWAYS WORK USING A COPY OF THE FILE!
There was a utility with Clipper called DBU (DBU.exe) that would open DBF files and you could see the structure. It was pretty easy to use. Not sure where you would get that today...
Step 1. Make Copy!
Step 2. Try DBU.exe, or any/all of the things above...
Also try this, open a copy of a working DBF in a hex editor.
Then open a copy of the bad DBF in the same hex editor.
Compare the information in the first few lines... I typically don't hex edit files, but this may be the way you need to fix this issue.
You can use these as a guide:
http://www.dbf2002.com/dbf-file-format.htmlhttp://www.digitalpreservation.gov/formats/fdd/fdd000325.shtml Look at this:
http://www.bleepingcomputer.com/forums/t/625451/not-a-valid-dbase-table/ Here is .NET code to directly read dbf file into data table...If you are into programming...
http://www.codeproject.com/Articles/24247/Load-a-DBF-into-a-DataTablehttp://dbasereader.codeplex.com/ Do not know how reputable these are but:
https://dbf.recoverytoolbox.com/ https://www.repairtoolbox.com/dbfrepair.html Hope this in some small way helps...I have been there :(