Flash-heavy site and setTimeout on Internet Explorer

Flash-heavy site and setTimeout on Internet Explorer


Apologies in advance, as this is only peripherally related to jQuery,
but...I find this group to be more informed than most.
In particular, I'm having a problem where IE6 and IE7 appear to be
"losing" timeouts set via setTimeout in a Flash-heavy page. (Firefox
and Safari don't have this problem.) I'm looking for ideas as to how
to deal with the problem.
Here are the details.
I've got a jQuery-based widget that a publisher can drop into his or
her website that decorates images and makes them "shop-able". (See
www.pixazza.com if you're interested.)
For the most part, it works great; however, we started working with a
site that makes heavy use of Flash ads via DoubleClick (typically six
Flash instances per page). And on this site, our widget performs
dismally on Internet Explorer.
I've isolated the problem to be the combination of
(DoubleClick-provided) Flash, Internet Explorer 6+, and
set(Timeout|Interval). In particular, IE seems to just start
forgetting about timeouts and intervals that have been set. The net
result is that 1) any timeout that gets set has a chance of not
running, and 2) the chance that it won't run increases as more Flash
is added to the page.
I've managed to hack around the problem by removing timeouts and
instead running code immediately, but this comes at the expense of
some important UI polish that I hate to leave by the wayside.
Along the way, I've tried to salvage my timeouts by...
* Twiddling with the timeout value. IE seems to be able to lose
them no matter what value I choose.
* Implementing and using "mySetTimeout", which sets an interval, and
then clears it when it as soon as it runs. My hope was that IE
might be putting intervals and timeouts in different places, and
the interval wouldn't get lost. This didn't work.
* Implementing my own timeout queue that's managed by a single
interval. My hope was that fewer intervals and timeouts all
around would make IE happier. This didn't work either: after a
while, the interval just stopped firing.
Again, I realize that this is a bit off-topic for the list, but...I'd
appreciate any thoughts that folks have!
Thanks in advance,
chris