An unclosed P is not an error. It has always been perfectly legal HTML and has an unambigous parse. There are a lot of cases in HTML where you are allowed to leave out tags, and the paser can infer then. This is part of the SGML nature of HTML.

However browsers also have graceful handling of invalid and ambigous syntax, and that is a much more controversial issue, because the resolutions have been browser specific and undocumented. This is obviously bad for interoperability.

Draconian error handling is the simplest possible solution to this problem, but HTML5 has a much better (but also much more complex) solution which is to openly specify rules for handling any conceivable syntax error. Microsoft has not peen part of this effort AFAIK.