I think the duemilanove was holding pin 0 to LOW after programming was complete.
Are you using the ArduinoISP sketch that comes with the Arduino IDE?
I switched to using "Blink" on pin 3 which is unused for programming. It seemed like the frying issue was solved, but the output was still jittering and dropping out randomly. Then I put a 10k resistor between Vcc and RESET as suggested, and the jittering was reduced, but not eliminated.
That sounds like a loose connection. Unless you have an electrically noisy environment, a 10K resistor should work flawlessly.
Now my question is this...Is it possible to program pins 0 and 1 as outputs without ruining the chip before the programmer is disconnected?
I do it all the time (using this variation of the ArduinoISP sketch: https://github.com/Coding-Badly/TinyISP
). The ArduinoISP sketch is supposed to change the SPI pins (the three pins used for programming) to INPUTs before releasing RESET. It is possible you have crossed paths with a bug that keeps the SPI pins configured as OUTPUTs.
Can the Arduino ISP program be easily changed to hold RESET to ground after programming ends?
TinyISP supports that.
Would this keep the attiny from booting up and potentially solve this problem?
Unless there's a bug in ArduinoISP or you failed to correctly wire the programmer to RESET it should not make any difference.
I'm definitely open to using another type of programmer, if that would get around this issue.
This will help more than changing programmers...http://forum.arduino.cc/index.php?topic=174842.msg1298837#msg1298837