Did you already try to add the following line in your OnIdle/OnTimer event?

Application.ProcessMessages;

Maybe this helps, but I am not an (Un)DelphiX expert... I don't know how the timer works.