Run the following in an empty directory:
mkdir src src/dir dest
rsync --dry-run -r --del src/ dest/
rsync: opendir "/home/matt/test/opendir-error/dest/dir" failed: No such file or directory (2)
rsync error: some files could not be transferred (code 23) at main.c(989) [sender=3.0.0cvs]
Rsync shouldn't be trying to delete in a directory it didn't actually create due to --dry-run.
The problem goes away if I pass --no-ir .
I fixed this the other day.