Here is the solution I eventually used:
$('.fc-day-number').mouseover(function () {
var sel = $(this).closest('.fc-day');
var strDate_yyyy_mm_dd = sel.data('date');
m_strDate_yyyy_mm_dd = strDate_yyyy_mm_dd;
if (typeof strDate_yyyy_mm_dd === 'undefined') return;
var position = sel.position();
var offset = sel.offset();
var objDate = new Date(strDate_yyyy_mm_dd.substring(0, 4), strDate_yyyy_mm_dd.substr(5, 2) - 1, strDate_yyyy_mm_dd.substr(8,2))
displayEventPopup(objDate, position, offset);
});
$('.fc-day').mouseover(function () {
var strDate_yyyy_mm_dd = $(this).data('date');
if (strDate_yyyy_mm_dd != m_strDate_yyyy_mm_dd)
$('#calTooltip').hide();
});
I only start showing the tooltip if hovering over the numbers (i.e. fc-day-number class), because the original problem still exists - hovering over the fc-day div still sometimes gives you the wrong date, but hovering over fc-day-number and getting the closest fc-day always gives you the right date. I hide my tooltips if I hover over an fc-day that has a different day than the last day that I display, and wait for the user to hover over another fc-day-number before showing the next tooltip. If the calendar were bigger, this would be a problem, but then again if the calendar were bigger, I wouldn't get the problem with fc-day giving the wrong date.