avr-gcc _delay_ms timings are off; ISP to blame?
The problem is that your definition of F_CPU doesn't match the hardware. On MCUs fresh from Atmel the CKDIV8 fuse (which divides the CPU clock by 8) is programmed, so be sure to unprogram it if needed if you haven't already.