A bit of background about our current site and Exchange 2007 design first ...
We have two sites connected by a direct 100Mb link (planned to be upgraded to 1Gb). The original Exchange 2007 & AD design was for an AD site with Exchange 2007 in each office, configured for the users in each office. SCR is used to replicate the mailboxes from Site A to Site B, and vice-versa.
In recent testing of SCR, when we reconfigured the home location for each user's mailbox, we found that there were issues. I think that the main problem was that we made the AD configuration change and then there was a huge lag before the new setting was in place. I suspect that the lag was caused by site-to-site replication timings but we ultimately decided to "collapse" the two sites into one, given that the direct link could be classed as a high quality link as far as AD is concerned.
The downside of making that AD topology change is that Exchange now believes that users should be able to connect to any CAS server regardless of which office they are in. Fine in theory but it complicates external access and this is the crux of my design dilemma when it comes to Exchange 2010.
From a DAG perspective, it seems quite straightforward, primarily because users don't connect directly to the mailbox any more and so the active copy of a user's mailbox can be on any of the Exchange mailbox servers.
From a Hub perspective, that is also quite straightforward as you can use multiple MX records to try to deliver the email and if one hub fails or becomes isolated because of a site outage, it isn't a big issue.
CAS causes me concerns, though. I want to make access to the CAS servers resilient and so building at least two of them in a given office and load balancing them would seem to be the optimal design. However, if an office goes offline, what is to stop Outlook still trying to connect to them as the servers would be in the same logical site?
Am I over-complicating things, or over-looking something?