Atmega 328P pin 0 as input errors

Sorry, you are right.
Here are the details about my project:
I'm using pin 0 as input. I wired 10k pull up resistor on this pin. When i switch GND to it, it would be on LOW. When nothing is on pin0, it would be on HIGH.
I have an while cycle. But the program is only run in while, when the pin 0 is LOW.
On the old atmega its working fine. I have problem only with the new controllers.

Here are my declarations:

void setup() {
  SPI.begin();
  pinMode(0, INPUT);
  pinMode(1, INPUT);
  pinMode(2, INPUT);
  pinMode(7, INPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(8, OUTPUT);
  digitalWrite(3, HIGH);
  digitalWrite(0, HIGH);
  digitalWrite(6, LOW);
  digitalWrite(8, LOW);  
  rfid.PCD_Init();
  backtime = millis();
}

I hope, i give you enough information about my problem. Thank you for your help.