I have the following in my ~/.ssh/config, which for those who don't know, maintains the connection even after you disconnect so you can reconnect really quickly:
ControlMaster auto
ControlPath /tmp/%r@%h:%p
ControlPersist yes
Having said that, sometimes I need to remove the entry from /tmp to reconnect if my network settings have changed.
Have you used ControlPath with a very long hostname? I haven't worked out how to stop one of my IPv6 hosts failing with that setup - the DNS RR is really long (causes problems with IRC, too!)
Hmm. I have one control file with 44 chars in it. That is probably the longest one I have hit. You could always give it a dns cname alias or something.