After sending my email to this group last week, I got a chance to dive deeper into the watchdog timer of the beagleboard and got it to work on the rev C XM board. The solution is fairly simple and I figured I would document it here as others might be interested. With this config change the board will reboot itself if it detects certain conditions. This is reported to work for all versions of the beagleboard. Only time will tell if this will prevent a trip to a mountaintop but it should hopefully solve the problem we encountered with a hung reboot.
Since Jim included a full build environment in pickle Linux, it is easy to rebuild the kernel in place. The steps to change the watchdog timer from the default of omap_wdt to twl4030 are simple. Unlike what I said in my original email the default kernel only has the omap_wdt timer.
The steps are (some of these are probably unnecessary) :
cd /usr/src/linux