I also experienced the problem with OpenSSH in Mac OS X 10.0.4 and forcing SSH1 is a workaround. The only thing I could connect to using SSH2 from osx is a server running SSH Secure Shell 2.1.0 (the "official" ssh). It seems to involve sshd as well. I couldn't connect to my osx box from a RedHat 7.1 running OpenSSh 2.9p1, I got "bad packet length" then too.
I just installed Scott Anguish's OpenSSH-2.9p1 Updater (see above link) and it fixed the problem. It looks like the real problem was Apple updated OpenSSH but not OpenSSL, on which OpenSSH relies.
Mac OS X (included in os update 10.0.4)
OpenSSH_2.9p1, SSH protocols 1.5/2.0, OpenSSL 0x0090581f
OpenSSL 0.9.5a 1 Apr 2000
After Anguish updater
OpenSSH_2.9p1, SSH protocols 1.5/2.0, OpenSSL 0x0090600f
OpenSSL 0.9.6 24 Sep 2000
It also fixed using ssh to connect to the osx box but that required restarting sshd so the new sshd was in use.
sudo kill `cat /var/run/sshd.pid`; /usr/sbin/sshd