# ln -s /some/file/that/do/not/exist myfile
# ls -l myfile
lrwxrwxrwx 1 bob bob 28 2009-11-26 01:54 myfile -> /some/file/that/do/not/exist
So here ls -l show me a file that is a symbolic link to something that is not here.
No error at all.
if the file named 'myfile' exist on both directory you want to compare, that's the output of diff.
diff: /home/bob/myfile: No such file or directory
diff WILL follow links during a directory compare.
So i repeat . . . you have broken symlink.