Auch wenn du es nicht glaubst, Programmerfehler entstehen nicht durch fehlerhaften Code. Wenn du es unbedingt testen musst, dann erstelle eine neue Datei, schreibe irgendeinen Mist rein und speicher die Datei unter .hex und versuche sie zu brennen, es wird funktionieren, wenn der Programmer den µC erkennt und die Verdrahtung stimmt. In diesem Fall funktioniert es einfach mit jeder Datei.
Vielleicht hat deine Schaltung einen Wackelkontakt oder so (du willst sie ja nicht posten)?! Du sagtest, dass du den µC nach dem Programmieren in deine Platine gesteckt hast, heißt das, dass du das eine Mal ISP benutzt und das andere Mal den Programmer direkt?