The bad news is that none of these approaches (so far as I've been able to determine) work well in Netscape 6.0, and so one cannot rely upon them when designing for public consumption.
...we cannot make use of all the features of a browser without introducing incompatilibies with other browsers...
I don't expect this to resolve itself any time soon. Even if Netscape went away today, or came out with a totally IE compatible version (or vice-versa), so many people are running older versions of these browsers (some who are not allowed to upgrade... within a corporation, for instance), that it will be a long, long time before this issue goes away.
Bottom line? We have to stick to pretty vanilla HTML on the client side, or use some kind of plugin technology (like SVG or Flash) to create more robuest content.
XML is not really a solution here, on the client side. It is a big help on the server side, however. When you use a web publishing framework (like apache's free Cocoon framework), you can store all your content in XML, then have seperate (automatic) transforms for display in IE, Netscape, WML (wireless devices), Opera, whatever.