1) 1й вариант вполне себе валиден. тэг только закройте, да регистр весь в нижний.
2)
http://www.artlebedev.ru/tools/techn...ml/css2_in_ie/
3) по-хорошему нужно делать так (атрибуты в нижнем регистре):

Код:
<div onmouseover="this.className += 'my_class';" onmouseout="this.className = this.className.split('my_class').join('');"></div>
приведённый код выше -- хтмл транзиншл. валидный. если нужен стрикт, потрудитесь сперва спецификацию прочитать, прежде чем постить сюда.
+ тут наблюдается совершенно идиотское стремление к валидации ради самой валидации.
вопрос на засыпку: на кой она вам, если работает и так и сяк?