Is there a way to find out the file safety setting of the interpreter at runtime?
I don’t actually know for sure, but I suspect not. It doesn’t seem to be documented anywhere. Probably the smart thing to do is to design the game in such a way that it doesn’t need to access files outside of what’s allowed by the default safety level, and deal with errors appropriately. (It seems like “why isn’t this error caught?” is maybe the better question to investigate here.)
it’s never possible anyway to be completely sure that a file is readable until you read it. It’s not just a matter of filesystem permissions, which are very different on Windows than on Unixy systems; it may also be that there are multiple layers of security features restricting file access: in addition to the TADS 'terp’s safety setting, your read might get blocked by fundamental OS-level file permissions, or by SELinux context, or by networking protocols, or by antivirus software, or by … any of a fairly large variety of other things. (And if you’re interested in writing files, there’s a whole other set of potential problems.)
In any case, there’s no way to predict whether you can reliably read from a file even with all of the information above: if the file is stored on a failing disk, file permissions might not matter.