I had the same problem. It was for a server, so it needed to be a static IP anyway. When I switched it to a static IP, it worked. I know that isn't going to help you a lot, but it will atleast tell you everything is working hardware wise. In Fedora, go to /etc/sysconfig/networking-scripts/ifcfg-eth0 and edit it to assign a static IP. Let me know if you need to see an example of a static setup. Also, I had to manually enter DNS's into /etc/resolv.conf to resolve any names.
This might not be it, but just to cover everything, I had a DHCP problem with a debian install. It was because I was running the 2.6 kernel without having module-init-tools installed and NET_FILTER on in my kernel.