IDE V1.0 and later

I thought this information might help with any issues that you might think you have with these later versions.

Well I'm no expert so it took some work getting this sorted out.

First check that the preferences.txt file that the IDE initially creates is set to upload.using=bootloader

The file sits in the Windows directory under your user name, Appdata, Arduino
To view the hidden files click on Folder options, View, uncheck the Hidden files and folders

With versions 1.0 and later all you need to do to upload with a programmer is select it from the list under programmers. if you are using more than one programmer type just check the one in use at any time.

You will need to remember to hit SHIFT/Upload - else it won't be seen and as you have upload.using=bootloader the IDE will think there is a problem and will give the error message Couldn't find the 'say' Leonardo on selected port. So, press SHIFT/Upload and it will work..

A note about syntax for the usbtiny and Atmel Avrisp mk2.
If you feel the need to change the preferences file, upload.using=
then use "usbtinyisp" or "avrispii" (that's two lower case i's, and don't ask why but if you use a 2 it won't work)

Also there is a difference in upload between the Sparkfun usbtiny and the Atmel Avrisp Mk2
The files upload ok but, at least on my PC's with the tiny, led 13 and the the Tx ans Rx leds stay on after upload.
With the Avrisp mk2 only led13 and the Tx led stays on after upload.
And this applies to sketches that don't use led13.

Bootloader gives no such issue.
Bootloader takes about 10 seconds to burn - tested on Uno and Leonardo

Unsure why, maybe someone has an explanation.

Apparently Studio 6's avrisp mk2 driver interferes with the Arduino driver and needs to be rolled back and the Arduino driver installed, see links below.
Here are helpful link/s..
How to configure the Atmel AVRISP MKii to work with Arduino IDE - Arduino Forum_files

and MightyOhm » Blog Archive » AVRISP mkII libusb drivers for Windows 7 Vista x64_files

I guess that the only thing to do, as usual with coding, is to test the !!!?## out of your program and don't just expect it to work the way you think it will work. Then when you find it is working test it again and again - at least for critical coding purposes. Perhaps also use failsafe techniques if the code fails - eg activate a buzzer if the code does not pass a point in right time etc

Good luck.