Yes it is. I have been programming an Atmega32U4 with it repeatedly.
And plugging it into the ICSP header on a Uno for the ATmega8U2 shows it is ready to upload/download stuff:
Atmega hex file uploader.
Written by Nick Gammon.
Version 1.12
Reading SD card ...
HEX files in root directory:
BLINK1.HEX : 4603 bytes.
BLINKC~1.HEX : 4616 bytes. Created: 2012-08-05 09:28:00. Modified: 2012-08-05 09:28:00
BLINK_~1.HEX : 14528 bytes. Created: 2012-10-05 12:38:28. Modified: 2012-10-05 12:51:36
SKETCH~1.HEX : 14618 bytes. Created: 2012-10-05 13:01:36. Modified: 2012-10-05 13:11:34
LED_BL~1.HEX : 14618 bytes. Created: 2012-10-05 13:11:58. Modified: 2012-10-05 14:32:36
LED_TE~1.HEX : 12041 bytes. Created: 2012-10-05 13:47:20. Modified: 2012-10-05 14:25:18
--------- Starting ---------
Attempting to enter programming mode ...
Entered programming mode OK.
Signature = 0x1E 0x93 0x89
Processor = ATmega8U2
Flash memory size = 8192 bytes.
LFuse = 0xEF
HFuse = 0xD9
EFuse = 0xF4
Lock byte = 0xCF
Clock calibration = 0x94
Actions:
[E] erase flash
[F] modify fuses
[L] list directory
[R] read from flash (save to disk)
[V] verify flash (compare to disk)
[W] write to flash (read from disk)
Enter action:
Programming mode off.