(Nathan - you might want to move the last few mails of this thread somewhere else now we're into AutoDiscover)
Wes, interesting setup, and I'm guessing you might be doing this because your clients aren't domain joined?
Because here's the way it works - for a domain joined client first.
1. The client queries AD for a ServiceConnectionPoint - each CAS registers one when it first gets installed, together with the URL it makes the autodiscover service available on. Default is the FQDN of the server. It also registers the AD site it is in. When you change the InternalURL you are changing the location the SCP points to. Changing site membership (ad) does not update the SCP.
2. The SCP returns a URL - the client connects, and ignores cert name mismatches, becasue the url came from AD and is trusted. (Look at the log tab in test email autoconfiguration - you will see it says it found url x.y.z via SCP)
3. Set up like this - It just works.
Having the InternalURL on the CAS's set correctly is key for domain joined clients. If you want to play around with AD sites (Outlook gets all the results back from the SCP and puts those in it's own AD site to the top) then look at the keywords attribute on the SCP. The SCP for each cas is in the config partition, exchange, servers, protocols (missed out lots of detail there - if you don't know what the paths are you probably shouldn't be playing with adsiedit..
)
Non domain joined clients don't use SCP - they do the sequence of url's you describe. But what you can do is issue a cert with a subject alternative name that matches the internalurl - then no cert mismatch issues, and no redirection required.
I'm going to write an article for ehlo on this in a couple of months detailing exactly how it works.
Greg