I was doing some testing around virtualizing my DHCP server. In order to ensure that clients maintained their leases across restarts when the DHCP might be unavailable (as I'd be converting it to a VM) , I gave the client a long lease time. When a Windows XP client boots and the DHCP server is down, it pings its default gateway and if that responds then it hangs onto it's lease. I know find that Windows 7 does not do that and resorts to a 169 address. A quick google yields:
So, MS have changed a fundamental design aspect of DHCP clients in 7. Maddening.