Great article and it just shows in my recent Exchange 2003 to 2010 upgrade that I got it right. I just couldn't think of a good reason to split out the roles, so rather than doing it just because I could I left them together.
I think a workable solution for a 2-server DAG multi-role implementation would be to use a CNAME with a short TTL (say 5 minutes at a maximum) to access the CAS. Have your monitoring software keep an eye of your critical CAS services and if one misbehaves then trigger a script to modify the CNAME to point to the other server.
Then at most you have a 5 minute client outage. If your DNS infrastructure can handle it then you could just tighten up the TTL until your SLA requirements are met (that is that you SLA requirements DON'T require you to go out and purcahse a load balancer, which most would).