The easiest way to take over the machine is to stick a routine in the reset vector and cause a watchdog timeout.
HH was thought to be the best way forwards to get the most performance out of the machine. However, with some hacking, we can get almost identical performance from linux, and reap all the benefits of linux as well (easier developing & debugging, ready made libraries & device drivers, etc).
HH-mode just isn't necessary any more, and with more and more people wanting to use the usb networking and mass storage features (to run apps and stuff from external harddisks, pendrives, etc) it is becoming inpractical.
Of course, if your only interested in HH-mode, then the best way to go is probably by grabbing the latest SDK (still Dec'05 I think), hacking up a u-boot to stop it from booting linux, and uploading your code direct to memory via uboots binary load commands, and executing it from there.