I don't think sleep can help (native or Win32) since I need to exit the event routine so that the OLE event loop can continue to run and possibly send additional events.
I think what I'm looking for is a perl callback timer mechanism that is consistent with Win32::OLE. A com object callback timer might work.