Atmega 328P pin 0 as input errors

Hi all,
I write a program for the 328p, and i use it stand alone. I ordered some 328P from china, but i have some problems with this. First of all it has not got bootloader, so i have to burn. I solved this. But the main problem is that i cant use pin 0 on these new microcontrollers. The old one is working correctly with the same program. What can i do now?
I produced 30 PCB for my project with pin 0, because it was good. But only with the old controller.
I dont know, how can i fix it.
Thanks for your help.

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.

string ID;
void setup() {
  SPI.begin();
  pinMode(0, INPUT);
  pinMode(7, INPUT);
  pinMode(8, OUTPUT);
  digitalWrite(0, HIGH);
  digitalWrite(8, LOW);  
  rfid.PCD_Init();
  backtime = millis();
}
void loop() {
	if(digitalRead(0)==LOW && strID==ID){
		digitalWrite(8, HIGH);
	}
 if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial() && azonositas==true){return;}
  String strID = "";
  for (byte i = 0; i < 4; i++) {
    strID +=
      (rfid.uid.uidByte[i] < 0x10) +
      String(rfid.uid.uidByte[i])
      ;
  }

  strID.toUpperCase();

photo:
https://drive.google.com/file/d/0ByjewCSevUMZVWVueW5QS0w3YU0/view

Yes, the reaistor is in the other side. I tried with the builtin, but nothing changed. The pin0 still not working.

The software is definitly good, because if i upload it the original microcontroller, its work. I have problem with the other controllers. If i change to an other(none original) this program not work because the pin 0.

I tried with led. But ive got the same result: one is good, others not. I also tried this: if(digitalRead(0)==LOW) without any rfid parts. But nothing.

If only there was a sticky reminding people to post the full code (or attach the sketch file) and also include schematic or picture of the setup. We're not going to steal your code or something but if you're going to ask for help you need to open up more.

Ok, but...
I only have problem, with the microcontroller. I think, if i cant use pin 0 with an easy wireing, for example with an LED on pin13 and a button on 0, not the software is wrong. I mean.
So the program is not the main part of this problem.
Because if i use an original arduino microcontroller, everything is good. But when i use the chinese one, the pin 0 stay HIGH. HIGH in every time. If i wire it to GND also stay HIGH, but the original gone LOW.
That is the problem. So i dont think, we have to debugging the full (very big) program. Because the problem is not this.
Tell me if i was wrong.

Could be. I've never heard of "china AVR clone works fine expect for PortD0 bit", though...

it has not got bootloader, so i have to burn.

Which bootloader did you burn? "Digital pin 0" on an Arduino is the Serial RX, so one possible explanation is that the uart has been left enabled somehow (perhaps by the bootloader), and trying to read that pin while the uart is enabled always yields HIGH. Or even "clone chip behaves differently reading D0 when UART is enabled."

I've got a new result. If i use the 328p in the uno, the pin is good. But in stand alone not working. I write a program for it. If the 0 is on ground, the LED is turn on.
For standalone i use this wiring:

The difference between my solution and this is that i put a 10k resistor to reset.