I nuked the wpautop function to test where the frig the outer wrapping <p> is coming from, it’s not wpautop, I also looked @ my raw database post and the <p> isn’t there either (so it’s not TinyMCE).
So I think the <p> is coming from an addFilter(‘the_content’, xxxx);
Whatever the cause; it’s making wordpress the worst xhtml strict cms ever, I’m going to find it, and going to rage blog about it. Just wait.
EDIT: Oh, wordpress broke the xhtml by wrapping the omnious <p> around a <div> created by the “Visual Editor” from an image, big fail.