Problem using ADT7310 SPI temperature sensor with arduino ethernetshield

Include these lines in your setup() and try again:

pinMode(4, OUTPUT);
pinMode(10, OUTPUT);
digitalWrite(4, HIGH);
digitalWrite(10, HIGH);

To explain what it does: the Ethernet Shield includes two SPI devices, the WizNet5100 chip and the SD card. The SD card usually is not critical as long as there is no card installed, but if a card is in place, it reacts on SPI commands as long as pin 4 is LOW. The WizNet5100 chip reacts on SPI commands as long as pin 10 is LOW. If you do nothing, they might be in either state and you're never sure about which device is replying to your requests.