I can reproduce this reliably. if module FOO maps to /tmp/foo/, which is empty, and client uploads with: rsync foo rsync://HOST/FOO/nonexistantdir/foo client exists success, but no file is there. This works as expected over SSH, message is recieved indicating that no directory exists, and exit code is non zero. Sorry if this is a duplicate, I searched and found nothing... Please email for clarification if needed.
This is a function of whether the server returns errors to the client or just logs them locally, and 2.6.3 is not one of the servers that kept errors to itself, so I changed the version of this bug to 2.6.2. Your server might also be 2.5.7 or before -- the bug was around a very long time. Anyway, this has been fixed since the release of 2.6.3, and it is still fixed in 2.6.4 (which is in the final stages of its pre-release testing).