Forgot to mention ...
You might also look at USBtiny, which Ladyada uses as a basis of her USBtinyISP.
For the cost of parts (a few dollars) you could have a programmer without using up resources on chip for a bootloader, but note, AFAIK there is no support for something like the Arduino's serial communication over USB using them.
This is a rather different approach to the Arduino's, with some restrictions, but it may be valid for your needs.
HTH
GB-)