When rsync is called with the --timeout option, when a timeout occurs, there is no exit value..
I get the proper exit-code 30 on timeout. Can you be more specific on how you see this happen?
I have never been able to duplicate this bug.