My last company, which used 4.01 DOCTYPE exclusively, decided to add some new functionality based on use of proprietary tags in the form of
<pp:foo attrOne="something" attrTwo="something else"/>
for certain purposes in their .aspx pages. In the beginning they broke a lot of Javascript until I sussed out that when these proprietary tags were self-closing, they caused (in some cases) the rest of the document to be interpreted as children of that element. (I should add that I didn't feel comfortable using proprietary tags in 4.01 in any case, but that decision was made above my pay grade.)
On the basis of my hunch, I suggested they change this to
<pp:foo attrOne="something" attrTwo="something else"></pp:foo>
and all the broken Javascript DOM manipulations came back right again. I couldn't find any reference to this kind of behavior anywhere, and fixing it was just a lucky guess on my part. My question is, does anyone know specifically why this should be?