When using a newer client than a server, there's an irritating feature that the client seems to automatically send all options to the server, and at least I didn't find any way to turn it off. This causes trouble in some cases, so there should be at least an option that disables sending another option to the server, or an option to disregard, without failing, any unknown options. More spesifically, I'm currently having trouble with wanting to use --remove-sent-files on the local end when pushing files to a slightly older rsync server. Here the server really wouldn't even need to know about the switch being used, but if it is, the whole operation nevertheless fails. I've verified this on 2.6.5 (Ubuntu) but didn't notice anything in the changelogs to indicate that this was fixed.
The --remove-sent-files option must be supported by both sides in order to work.
I see, though what I do not see is how this is sanely possible, and would consider it a bug in itself. Recall that this happens also when the client is the only one doing any sending (and therefore deleting) whatsoever?
The sender does not delete each sent file until it gets confirmation that the receiver has successfully reconstructed it. The receiving side needs to understand --remove-sent-files so that it can send these confirmations.