I'm happy with the shift to 'v2' (BTW I used it with different STK500 &
avrisp) since I think it is much faster and safer: for instance on some
project, with the v1 protocol, you had to remove the ISP probe and put it
back each time you wanted to flash since the avrisp was hung. 'v2' seems
much more resistant, even when the project is using the SPI ports for it's
own use. So the avrisp cable is less manipulated and last longer. At last,
if you forgot to plug the avrisp on the target, with 'v1' you had to run
avrdude another time. With 'v2', avrdude will be able to start its job as
soon as you plug the target : it loops until the isp answers.
So we have wrote/verifyed flash memory many times, with applications
starting from 0x0000, bootloaders, and hex files having both an application
and a bootloader but a gap in the middle and it works well.