В HostWindows в процедуру Idle не включили поправку от Ильи Ермакова: добавить
Windows.dir.Update(NIL) после Services.actionHook.Step;

PROCEDURE Idle*;
VAR w: Window; tick: Controllers.TickMsg; focus: BOOLEAN;
BEGIN
w := dir.Focus(FALSE);
IF (w # NIL) & ~w.trapped THEN
w.trapped := TRUE;
IF w.frame # NIL THEN
tick.tick := KERNEL32.GetTickCount();
w.ForwardCtrlMsg(tick)
END;
w.trapped := FALSE
END;
focus := ScrollModPressed(); w := dir.First();
WHILE w # NIL DO
IF ~w.trapped THEN
w.trapped := TRUE;
w.UpdateScrollbars(focus & (w = fWindow));
w.trapped := FALSE
END;
w := dir.Next(w)
END;
IF ~idleTraped THEN
idleTraped := TRUE;
IF USER32.GetAsyncKeyState(1) >= 0 THEN activating := FALSE END;
IF USER32.GetAsyncKeyState(2) >= 0 THEN activating := FALSE END;
UpdateInfo;
(*
Check;
*)
idleTraped := FALSE
END;
Services.actionHook.Step;
Windows.dir.Update(NIL)
END Idle;

чтобы работала отложенная перерисовка.
viewtopic.php?f=31&t=367&p=3646&hilit=Windows.dir.Update&sid=7d435230296a407aa6b4a462de3a6f03#p3646

Иначе программки типа ObxCube "замирают" при вызове меню.