It probably thinks it has stuff in the rx buffer when it is empty. The "605 Bug" is the most likely suspect. It affects about all ethernet functions, including udp and dhcp.
http://code.google.com/p/arduino/issues/detail?id=605
Here is a thread where another user had about the same problem with dhcp:
http://arduino.cc/forum/index.php/topic,93623.0.html