Shield pin usage list

Have I misinterpreted something here?

For starters:

J3-3 is Arduino digital pin 2 (not 10)
J3-5 is Arduino digital pin 4 (not 12), and is used as the SD Chip select.

From the schematics, it doesn't look like pin 2 is connected to the W5100 interrupt pin, but I don't have a new Shield to inspect. Just look to see whether there is a solder bridge across the contacts of the "INT" component. The Arduino Ethernet library does not use an interrupt from the Wiznet chip, so it doesn't have to be connected here.

The pins used as ICSP connections for MISO, MOSI, and SCK for a Duemilanove or UNO are different than those for a Mega1280 or Mega2560.

If the Shield is plugged onto a board with an ATMega328 (or 168) here are the connections:

MOSI is Arduino digital pin 11
MISO is Arduino digital pin 12
SCK  is Arduino digital pin 13

If the Shield is plugged onto one of the Mega boards they go like this:

MOSI is Arduino digital pin 51
MISO is Arduino digital pin 50
SCK  is Arduino digital pin 52

For the new Ethernet shield, Arduino digital pin 10 is used as Ethernet Chip select, no matter which board it is plugged into. For a '168 or '328 chip, this pin (the SS pin) is also set (by the Ethernet library) to the output mode to initialize the hardware SPI interface circuit in the SPI master mode.

If the Shield is plugged into one of the Mega boards, Arduino digital pin 53 is the SS pin that the Ethernet library sets to the output mode to initialize the hardware SPI interface on the ATmega chip, but is not used on the Ethernet shield (so it can be used for whatever output functionality you would like; just don't make it an input).

Regards,

Dave

Footnolte:
The old Arduino Ethernet Shield used pins 10, 11, 12, and 13 as the SPI port signals (from the digital pin connector, not from the ICSP connector) and, therefore was not compatible with a Mega board without modifications that would bend pins or cut traces to these pins and connect jumpers from the Mega connector way at the end of the board to the signal points on the Shield. It could be done (I did it), but the new way, using the ICSP connector, is (obviously) cleaner. Chalk one up for the Arduino Hardware Design team.