У меня нет времени, чтобы полностью исследовать это в данный момент, но я полагаю, что это вызвано одним из странных поведений mouseover / mouseout, которые происходят с дочерними элементами.
Если jquery является опцией, использование hover
решает многие из этих проблем и, похоже, решает вашу проблему:
http://jsfiddle.net/ZJBXX/13/
РЕДАКТИРОВАТЬ: обратите внимание, что это работает от скрипки, размещенной в комментариях и может не совпадать с вашим текущим кодом.