I can't add anything intelligent to the discussion about xinha or TinyMCE, but anyone considering XHTML should read this:
http://www.hixie.ch/advocacy/xhtml
The conclusion is that producing valid XHTML is nearly useless, and I would argue that in the context of OpenACS or any similar application which displays user supplied markup, it is impossible to do it.