Ethernetshield IP problem

i do use an sd card and once 0.0.0.0 is the ip address the only way to get it right is to take off the power.

That is about right if you have a sd card in the slot. If you plan on using the sd card, then use this setup routine.

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

  // disable w5100 while starting SD
  pinMode(10,OUTPUT);
  digitalWrite(10,HIGH);

  Serial.print("Starting SD..")
  if(!SD.begin(4)) Serial.println("failed");
  else Serial.println("ok");

  Serial.print("Starting w5100..");
  EtherStart();
  Serial.println("Setup done");
}