I built a USBTiny ISP a year ago, it worked except it bricked ATmega16's on occasion.
During development while uploading some flash code (not fuse bits) one of my prototypes stopped responding to SPI commands and started running at twice the speed it was supposed to be. (Which shouldn't even have been possible since it was already running at the max 8mhz for onboard osc)
I figured it was a fluke, built a new prototype and kept working. I finished my project and assembled 25 more units, but when i went to flash them 2 out of the first 10 did the same thing. I quickly switched back to a basic printer port programmer and the remaining 15 flashed fine.
I'm pretty sure the issue was corrupted fuse bits, but how they got corrupt when i wasn't even flashing them at the time i'm not sure.
I only assume the 'double speed' issue was caused by undocumented fuse bits being set/cleared, (maybe there's a secret 16mhz mode).
The only thing i can think of is that i had to add the ATmega16 programming specs to the Burn-O-Mat software because it didn't know about the chip.
There was some program timing settings required and i checked them carefully with the datasheet but maybe i got one wrong. Or it maybe a timing issue inside the programmer firmware.
So yeah, i don't really recommend the USBtiny