Your descriptions don't seem to describe that the bootloader, and program uploaded with no bootloader, can ONLY be uploaded via the ICSP pins.
Smaller parts like the '328 do not have JTAG, that is only available on the larger pin-count parts like the 644/1284 family and 1280/2560 family.
I have a couple of programmers, I didn't want to have to setup a programmer everytime I wanted to bootload a part.
This one is pretty inexpensive when in stock:http://www.nkcelectronics.com/pocket-avr-programmer.html
I used this one for a long time with '328P chipshttp://www.mdfly.com/index.php?main_page=product_info&cPath=5&products_id=415
I moved to this one with '1284Ps and '2560s.http://www.mouser.com/ProductDetail/Atmel/ATAVRISP2/?qs=%2fha2pyFadujqFzV%252bExzQOlFEGuFbE5zkYm9OzGvRqkjeoy23MLFzjw%3d%3d