I had the exact same problem, and even the "geniuses" at arduino.cc didn't help.
Unfortunately, I went through about a dozen chips in trying to find the solution,
thinking that I had fried all those chips. Here is the solution:
I expect what's happening is that the Arduino bootloader IDE incorrectly programs
some fuses under mysterious circumstances. In particular, it selects EXTERNAL CLOCK.
Without clock, the chip will appear to be completely dead and not respond to Avrdude.
What you need to do is to connect a TLL oscillator module (or any clock <20 Mhz) above a few
megahertz (I'm using 1.8 Mhz). Use a 4 pin 5V "metal box" clock oscillator (<20 MHz) you have handy,
power it with 5V on pin "14" of DIP14 footprint, GND on "7". Connect the clock output on
pin "8" to pin 9 OSC/clockin of the ATmega168 DIP 28 . You only need to do this temporarily while you
load the bootloader. It is possible you may damage your crystal, so I suggest to lift one leg
of it out of the hole. After the bootloader is programmed, solder the crystal leg back.
You can load the bootloader directly from within the Arduino software, using:
[tools][burn bootloader][/w parallel programmer]
This is the easiest and cheapest way to program the bootloader without spending money
on a USB AVRISP programmer or fooling with Avrdude command line (though it's useful to learn how while experimenting).
DAPA information here
http://www.instructables.com/id/EXIM2VJJ51EUKIKWDF/ and here
http://www.arduino.cc/en/Hacking/ParallelProgrammerAlso,
my suggestions are to build the "DAPA" parallel port programmer, and either use
short wires (<20 cm) or use series termination resistors (33 to 330 ohm).
Also some people experienced problems on the led connected to digital 13, if your clone-board has that,
you may need to disconnect the led - just lift one leg of the resistor. If that doesn't
work (wires too long maybe), you can put a 30-300 pf capacitor to ground on sclk.
Contrary to what some have written, it is NOT possible to "kill" AVR chips with improper
programming that can only be undone with a "high voltage" Atmel programmer. This is bogus.
BTW I used version 11 of the Arduino IDE since version has some problems. Those guys don't
even check things before releasing them. "Beta" means you get what you pay for!
good luck!
h