http://docs.jquery.com/Events/hover
«
Additionally, checks are in place to see if the mouse is still within the specified element itself (for example, an image inside of a div), and if it is, it will continue to 'hover', and not move out (a common error in using a mouseout event handler).
»
Подозреваю, дело в этом. Поставьте fadeOut на mouseover, а fadeIn на mouseleave. Или делайте проверку внутри функций.