A few folks claim avrdude from the Arduino download is necessary but I have not had any problems using the WinAVR / Atmel version. Maybe it's necessary for Mac / Linux users.
I don't believe their claims. The newer avrdude works just fine for me.
I run avrdude that I build myself from the avrdude repository.
I use linux, but I have also built it for other folks that still use Windows.
It works just fine on those two platforms.
I also patched avrdude to get the AVR dragon to work with the IDE and the optiboot makefiles
to burn a bootloader.
(There are small patches that could be done in the IDE or the optiboot makefiles to work
around the avrdude issue, but I've not been able to get either of them to make the changes
so I just fixed it in avrdude where it really should be fixed anyway)
One thing to note about the newer avrdude, is that
it is MUCH faster at burning a bootloader because it knows how to skip over unused regions
0.5 seconds vs 30 seconds on USBasp to burn a new bootloader.
With the old avrdude the entire flash gets burned even for a 512 byte bootloader.