Ich kann Axels Erfahrungen bestätigen. Die Situation hat sich zwar mit R6 / R7 gebessert, aber nach wie vor laufen dort zwei gegenläufige Prozesse ab: Die (hauptsächliche) Bearbeitung im Backend vs. Aufrufe von Frontend-Prozessen, deren Stack sich asynchron gegenüber dem Backend-Prozess verhält.
Vielleicht lässt sich ein einfacherer Ansatz finden: Warum ist überhaupt ein Refresh aus dem Backend erforderlich? Wegen der (komplett anderen) Komplexität des FrontEnd-Documents ist das ja nicht ohne Grund nicht im Backend implementiert und sollte eigentlich auch vermieden werden. Was muss denn warum nachkalkuliert werden? Kann man das nicht anderweitig lösen? Ist das ein einmaliger Prozess (dass würde ja @Command([ToolsRefreshSelectedDocs]) mit einem nachfolgenden Agent, der den Query-/PostRecalc-Code ausführt, ausreichen. Ist es kein einmaliger Prozess, ist das m.E. sowieso bedenklich.
Bernhard