Try the IE8 debugger, it's pretty good. You're using the compressed version of jQuery so that is hard to debug, but it the debugger shows the call stack at the point of the error and it leads to this line in your page:
$("#magnifier").css({display:"block",top:(e.pageY-$(this).css ("width"))+"px",left:(e.pageX-$(this).css("height"))+"px"}); The width and height css attributes are returning "auto" instead of a number of pixels (that's an IE quirkiness), which is causing a math error and it ends up trying to set the top to "NaNpx". Try $(this).height() and $(this).width() instead, they should return a number in pixels--unless they are nested inside an element that is hidden, and I don't think that applies here. Cool magnifier!