And for my last post....
Apply your failover balancer as per
http://www.debian-administration.org/articles/377
but create private interfaces that have a preference to route via CM instead of DSL
Configure your dhcp server on that machine to apply static ip/routes for the prefered machines you always want to route via CM. IE route = 2.0.0.1 instead of the global failover balanced route of 10.0.0.1
If for some reason CM goes down ... comment out the dhcpd.conf entry - restart dhcpd and network on the client machine such thatit starts to route via 10.0.0.1 (the failover balanced gateway). Or you can be really cleaver and write some scripts to do this.
Hasta la vista baby.