Just chiming in here with the exact same issue…I did not really notice this problem earlier because I was using a USB connection and constantly using serial packets to debug my sketch (as I’m sure most you know know, the Arduino resets when serial comms begin). Now that my project is nearly complete and I am running the Arduinos standalone, I have to manually reset each ethernet shield to make it start talking. I have used the old v1.0 shield in the past and it does NOT have this problem.
Now I am behind on my project, I can’t just swap the v2.0 for the older board because of the way the headers are placed (I have a custom board on top of the ethernet shield), and my customer is upset with the delays. This is a HUGE issue and should be noted in the docs, with either a work-around, or a big fat disclaimer/apology!!!
I just sent an email to SeeedStudio support, we shall see what they say.