OK, so we have the same setup. Ubuntu ifupdown doesn't like it if two interfaces have a gateway. dnetconfig (and well /etc/init.d/staticroutes) does something different that does work, by using Linux routing tables from the look of it. This makes ifupdown not complete on boot, so DNS (which it configures) isn't configured either.