I have the problem that when I apply power to the arduino and ethernet shield I only get the LINK LED to light up and the code gets stuck at Ethernet.begin(). If I then press the reset button everything resets and starts up correctly. I am not sure what to make of this problem but perhaps the Ethernet shield is very sensitive to the input power, I am using my own power regulator? Has anyone else run across this problem?
Could be the power supply, the official W5100 chip ethernet shield is a tad greedy (150mA) or 5 times what the arduino uses. Hooking up an extra capacitor (100+ uF) may help if the smoothing isn't up to scratch. Crappy smoothing doesn't show up with a volt meter but it will with a scope.