JavaScript and DHTML are common reasons for browser bugs and lock-ups IME. Perhaps in some cases one can dictate only certain browser versions and brands to reduce that risk, but that is often not the case.
DHTML is not the same as DOM.
The JS/DOM code I wrote works in Mozilla, Netscape 6, and IE 5.X+ with absolutely no browser-specific code whatsoever.