Does the reset button work when not powered?
The reset on an Arduino does not erase anything. It merely restarts execution of an already uploaded program. Also the AVR needs to be powered on for it to realize whether it has been reset. 

Every time you power on an Arduino it automatically starts code execution from the beginning of the program in the flash memory.