> I tried whatever comes loaded on the R3 Arduinos (any idea what that is?) and it timed out properly but never came back after the timeout.
The test code works fine for me on my Arduino UNO R2.
> I have read that this is the main problem with the Arduino and the watchdog circuit. It seems
> that on reset (by the WDT) the timeout is changed to 15mS and enabled so the bootloader never
> gets a chance to make it to my setup() code before retriggering. That appeared to be what was
> happening to me.
I had read that the WDT doesn't get disabled after a timeout and that if the bootloader took too long you could get into a WDT loop but I had not read that the WDT interval gets reset to 15ms. I just burned the Arduino 1.0 UNO bootloader into my UNO R2 and the WDT test sketch still works fine.
> On a related matter, the Arduino IDE ships with several bootloaders (STK500V?, Optiboot, etc).
> How do you tell it which one to use or does it pick based on the particular microprocessor
> you have selected under "Tools->Board"?
Yes. The 'boards.txt' files have a pointer to the bootloader for each type of board. You can put your own 'boards.txt' file in the 'hardware' folder inside your sketch folder and the IDE will pick that up next time you start it.
> Is there anyway to find out which bootloader is programmed in the chip?
Not really. The only way I know of to be sure is to burn a fresh bootloader.