I know this is an old thread – but I had a similar problem. I am using DHCPv6; Windows 7 would obtain an address from DHCPv6 and the default route from the router. The default route would be there (as seen via "route print") for 30 minutes. Then it would disappear.
I found that the default Windows Firewall allows ICMPv6 ONLY from fe80::/64. Normally, this is fine, however, in our infinite wisdom, we set the router's link-local address to be fe80:42::1 (which isnt part of the fe80::/64 subnet). If we let it pick its own link-local, (the default) it would have been OK.
Thus, the initial default gateway appeared because Windows requested it via Router Solicitation. But it was unable to hear the periodic Router Advertisement messages after that in order to keep that default route alive. It timed out after 30 minutes and disappeared.
We've since changed our router's link-local address to be fe80::42:1 (which IS part of fe80::/64).