Вопрос снят - нашел косяк. И в целом сделал иначе - перевесил привязку hoverа на момент создания элемента. Плюс, как оказалось, нужно делать не
$('.gray').hover(hoverIn(), hoverOut());
а
$('.gray').hover(hoverIn, hoverOut);
Теперь разбираюсь с вызовом функции в правильный момент...