If you move a file that’s referenced by a SSB (Sorry Son of a Bi…) to a different location (without your app being open), then you place a file in the same place as the referenced file with the same name, when your application then tries to read the file from the SSB it gets the new file instead of the referenced file.
If you need to be sure that the file your accessing is the one you accessed before, you’ll need to create and store a HASH of the file But even then, you’ll have no way of finding the original file (sure you can do a spotlight search, but then you have to present a file open dialog to get access to that file).
Edit: Some weird typos that are native to the way I think