Hello Markiz, it's good to hear from you again!
Regarding the p elements, IE does this automatically, you are right. And you are right again that this is not behaving consistently across browsers. p is generated for firefox/ie/opera and a div is generated for webkit based browsers.
That's because for webkit (chrome and safari), the rich text editing engine they support inserts divs by default instead of the p element. This is the route webkit decided to take unfortunately.
Midas (rich text editing engine in mozilla based browsers) allows you to override default behavior by a simple configuration setting, webkit does not and requires you to workaround writing custom code and maintaining this code.
So far I have stuck to fixing invalid html. A div instead of p on ENTER is still valid HTML even though we lose some semantics because a div is not a paragraph, the issue is not big enough to warrant working around, that's why I left it as it is since it
is perfectly working behavior.
Don't worry, I will continue to debate this problem some more in my head and see if I find an excuse to start working around webkit.
Have a good day,