What information are you trying to collect in the variable $DiffCommand there?
The easy way I can think of could be to mount the remote directory using "sshfs" and then running "diff -r" as normal over the local and the mounted remote directories.
Otherwise, the harder way is to do it in two parts. (Just a guess)
Since you can still use "diff" to compare individual files over "ssh"
Code:
diff /path/to/a/file <(ssh abc@xyz.com 'cat /path/to/another/file')
and since "rsync" can list differing file names using --dry-run
Code:
rsync -av --dry-run -e 'ssh -i ~/.ssh/some_key_rsa' /local/path/ abc@xyz.com:/remote/path/
you could combine the two. Loop through the output of "rsync" and run "diff" against those files found.
But I'd try the "sshfs" method first, I may have left something out of the "rsync" guess.