Because of the sandboxing feature of the operating system, OmniFocus can only run scripts which live in its “blessed” script folder. It can scan the folder and detect your symlink, but if it tries to resolve the symlink it will end up trying to read that script’s file from wherever that symlink points and the sandboxing system will deny access.
You might be able to get away with a hardlink (assuming both files are in the same filesystem), or you could periodically sync that file from its source location into the script folder rather than using a link.