Including: echo -n "message" in .cshrc (login shell set to csh) causes Linux, Solaris, and Windows sftp clients to be rejected with the error message "Received message too long 1835365235". Of course, you could say that having output produced from an rc file is not really a standard (or even desirable) practice, but that is neither here nor there.
You are correct: shell initialisation scripts shouldn't produce output. Put it in .login. This has been documented at http://www.openssh.com/faq.html#2.9 for over three years.
Mass change of RESOLVED bugs to CLOSED