Fixing USBasp based on ATmega8

It gets weirder! I decided to flash the fuses to the USBasp, since the fuses for the Atmega8 match those for the Atmega8A, and my USBasp has a 12Mhz Xtal on board.

Take a look at the command I issued and its output below:

avrdude -c arduino -P \.\COM7 -p m8 -B 200 -U hfuse:w:0xC9:m -U lfuse:w:0xEF:m

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: reading input file "0xC9"
avrdude: writing hfuse (1 bytes):

Writing | | 0% 0.00s ***faile
d;
Writing | ################################################## | 100% 0.07s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xC9:
avrdude: load data hfuse data from input file 0xC9:
avrdude: input file 0xC9 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0xc9 != 0x00
avrdude: verification error; content mismatch

avrdude: safemode: hfuse changed! Was c9, and is now 0
Would you like this fuse to be changed back? [y/n] y
avrdude: stk500_cmd(): programmer is out of sync

In other words, it wouldn't let me save the fuses. What gives?!