You should check the path that the code gives you back when you call File_RelativePath. Make sure that it's the correct compared to the actual file on disk. There may be a problem where it returns a unescaped filename, while it is url escaped on disk.
Adrian
Adrian