AVR Dragon

I thought the deal with lock bits once they were programmed was that the only way to unprogram them is via a chip erase?

There are two sets of "lock bits", one for access via programming (SPI, Parallel), and one for access by the bootloader code. Only the first set need a chip-erase to be changed. (The Bootloader lock bits, which can be changed without a chip reset, are further divided into sets for access to the "application memory" and the "bootloader memory.")

Note that ANY SPI-based programming essentially requires a chip-erase, because "programming" can only change one bits to zero bits, and SPI programming does not have the "page erase" command that the bootloader uses to program the flash "one page at a time."