Burning arduino bootloader with avrdude and AVR dragon on ATmega32U4 failing
When used in ISP mode, the AVR Dragon behaves similar to an AVRISP mkII (or JTAG ICE mkII in ISP mode), so all device-specific comments will apply there. In particular, the Dragon starts out with a rather fast ISP clock frequency, so the -B bitclock option might be required to achieve a stable ISP communication.


http://linux.die.net/man/1/avrdude


       -B bitclock
               Specify the bit clock period for the JTAG interface or the ISP clock (JTAG ICE only).  The
               value is a floating-point number in microseconds.  The default value of the JTAG ICE results
               in about 1 microsecond bit clock period, suitable for target MCUs running at 4 MHz clock and
               above.  Unlike certain parameters in the STK500, the JTAG ICE resets all its parameters to
               default values when the programming software signs off from the ICE, so for MCUs running at
               lower clock speeds, this parameter must be specified on the command-line.  You can use the
               'default_bitclock' keyword in your ${HOME}/.avrduderc file to assign a default value to keep
               from having to specify this option on every invocation.



http://www.nongnu.org/avrdude/user-manual/avrdude_4.html

It sounds like the Dragon is sending data faster over ISP than the ATmega can manage. This is quite likely when you are running the ATmega from the default clock source. The -B parameter is the way to solve these issues.

datasheet paragraph 6.2.1: 


  The device is shipped with Low Power Crystal Oscillator (8.0 - 16MHz) enabled and
  with the fuse CKDIV8 programmed, resulting in 1.0MHz system clock with an 8MHz crystal.