I don't know if bash works this way, but in ksh there's the "whence" command which tells you exactly what will execute if you were to type the argument as a command, whereas "which" just tells you the first instance of the command in $PATH. For instance:
wembley 0 /home/jj33 > which ls
/bin/ls
wembley 0 /home/jj33 > whence ls
'/bin/ls -FC'
I doubt it's your problem, but a next troubleshooting step would be to specify the exact path (or escape a possible alias with a backslash) for "sort" when you execute it:
$ echo -e "2\n1\n3\n5\n4" | /bin/sort -R
After that, I might suspect an environment or locale setting that's making it wonky. Not necessarily important, but the LC_* variables often have unexpected side effects (the first thing I do on a new box is set LC_ALL=C to turn it all off =)).