I have noticed this strange thing where my atmega328p stops working and when checked through Arduino IDE or AvrdudeSS or ProgISP, they show programmer not in sync, rc=-1 initialization error (while the same circuit recognizes a new chip).
EDIT3: Zener removed form schematic as the problem exists even without the zener. My circuit has a 12volt input coming from an adapter, then to 7805 and 7805's 5v output to my atmega chip. The circuit worked all fine until 7805 was moved a bit by jerk and all becomes hell, atmega stops. Is it permanent damage? I am unable to understand what is it and my money is wasted on buying new chips and demoralizing me to continue.
EDIT: I must also mention that one of my chips died in the same way while I just had an led tested with the chip's 5volts. All I noticed is a "jerk" to 7805 did it (switched-off the led and then the chip stopped responding to anything)
EDIT2 - Is it possible that fuses go wrong if chip resets due to jerk on voltage regulator or anything similar? I know it sounds silly. I always burn bootloader on my new chips using usbasp and Arduino IDE 1.0.1 and then set fuses using AVRDUDESS default fuses for Arduino Uno (L 0xFF H 0xDE E 0xFD, after which blink program blinks at normal rate).