The usage of socketpair in fd_pair on cygwin can cause the error "The parameter is incorrect" when trying to use a different rsh. This has been reported before at http://lists.samba.org/archive/rsync/2002-October/003820.html
Usage of pipe instead of socketpair fixes this. I suggest to use pipe instead of socketpair by default for cygwin.
I checked in a fix for this a little while back. Thanks for the report!
starting which which version is it fixed?
It will be in 3.0.9.