Yes, the USBtinyISP is another fine choice. Don't forget to buy a 6-pin cable to connect it to your board.
The "only works once" problem is usually that the Auto Reset isn't working. With a fresh bootloader the chip has nothing better to do on startup than wait for an upload. Once a sketch has been uploaded there is only a brief window after Reset to initiate an upload. If Auto Reset isn't working you will have to do a manual reset to do an upload.