Ethernet Shield Seems Sketchy

Try this code. You can change the network settings to yours if you want to try a ping.

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEB };
IPAddress ip(192,168,2,2);

void setup() {
  Serial.begin(9600);

  Serial.println("Starting w5100");
  Ethernet.begin(mac,ip);
  Serial.println(Ethernet.localIP());
}

void loop() {
}

If the serial monitor shows 192.168.2.2 (or your ip), then the SPI and w5100 are communicating on the SPI bus. If it shows anything else, like 0.0.0.0, then something is wrong with the hardware.

Insure the ICSP connector is connected fully. That is how the SPI bus gets to the shield.