I ran into an issue with a laptop that just would not pick up an IP address when using DHCP for either its LAN or WLAN adapter. It would just sit trying to identify and then would get an APIPA address. If I set a static IP address the adapter would function correctly but DHCP was needed.
The solution was to reset the Winsock catalog and the IPv4 stack to defaults.
Open up a command prompt and use the following commands:
netsh winsock reset catalog
netsh int ipv4 reset reset.log
After doing this disable and then re-enable the network adapter it will now pickup the DHCP information.