If by "telnet won't even work" you mean that the telnet connection test in step 7 fails to connect to the server, I suspect that either you didn't properly configure the firewall (step 6), or that the MySQL server isn't running. You need to start it - or if it's already running, you need to restart it after you make any configuration changes.
(If you're using telnet for some other purpose... just keep in mind that it is completely insecure. I actually prefer netcat for these things.)
Your SSH configuration should not have any effect on whatever may be going on with the MySQL server. They're completely separate programs. There is no way that setting PasswordAuthentication to "no" in sshd_config could be causing your problem.
Hey, late night is when the secret internet parties break out!
oh wait - whoops, that was supposed to be private ;-)
I wouldn't have thought you'd need to reload ssh after changing the firewall, but I guess it generally never hurts to restart things when in doubt.
Telnet (in the old days) or netcat (modern equivalent) is actually a pretty good tool to have on your development machine, e.g. your home computer, and maybe even on your slice as well. When you run into network problems, you'll want to have the tools available to deal with them. For what it's worth: ping, traceroute, dig, nmap, and tcpdump (or Wireshark if you can use a GUI), among others, are pretty standard.