Windows vista and 7 don't honor routing table metric?
Solution 1:
I'm having the same problem with Server 2008. I posted a detailed question here Windows Server 2008 Ignores Persistent Route With Lower Metric.
It seems Microsoft went their own way when they redesigned their new TCP stack implementation.
The solution proposed by Microsoft tech support is to set the network card to ignore all default routing rules and recreate all routing rules manually as persistent routes. It sucks, but that might be the only option.
To ignore default routes:
netsh interface ipv4 set interface [ID] ignoredefaultroutes=enabled
To get the ID of your NIC:
netsh interface ipv4 show interface