Just my two cents, but this is probably why virtually every support service from game companies begins with... "reinstall your game and try again."
Because I'm sure they've wasted countless hours trying to fix games people tinkered with and broke.
Something else you could try is preemptive file screening. It would be a little bit of an upfront time sink, and possibly more complicated than it needs to be... but do an md5 hash of all your files and store them in your compiled source. Then at run time you could scan and compare your external files to the md5 hash (for example).
If the file signatures don't match, politely inform the user there's a problem with the file, tell them to reinstall it, and quit.
If you use thousands of external files, this would suck. If you use less than 50, it's probably not too difficult to do this. EDIT: Alternatively, you could zip archive your files and use zlib to access them... then just do one hash of the zip archive (this isn't hard to do in C++, but in construct it might be tricky... Though there are python zlib and md5 scripts out there).
That's just one idear I had off the top of my head.