We were having a problem on Windows 2008 where we add and remove extra IP addresses via the AddIPAddress and DeleteIPAddress Windows functions: persistent routes would suddenly no longer be active after a DeleteIPAddress. The routes were still configured, though, and return in the list of active routes again after a reboot.
Eventually, I found a blog article which described that the disappearing of active routes had to do with HOW the routes had been defined. When no explicit network interface number was specified in the "route add" command, the problem with the disappearing routes would occur. The article is here: http://blogs.technet.com/b/askcore/archive/2009/05/26/active-route-gets-removed-on-windows-2008-failover-cluster-ip-address-offline.aspx
Thus, the solution is to specifiy the interface index when defining the persistent route: e.g. "route add 220.127.116.11 mask 255.255.0.0 18.104.22.168 IF 11".
However, we've heard that the interface ids in Windows might get renumbered after a reboot or maybe even other circumstances (we haven't actually seen this happen yet, though).
Question is: will a persistent route still be bound to the correct interface when it was bound to that interface by its index and the index for that network interface changes afterwards? Or do the persistent routes need to be redefined whenever the indices changed?
(we had this problem on a Windows Server 2008 R2 machine, which has 4 physical NICs set up into two teams, with 3 VLANs on Team1 and 1 VLAN on Team2)