A "pending" trade is a "pending" trade. And there is a clear advantage of having "risk mngt" as a separate module, usable on top of any other existing system without having to modify it with parallel "order accumulation/ tracking mechanism"/arrays, etc.

The solution is simple : (ThisTrade->flags) |=TR_PHANTOM , but a "higher level interface" for doing this, e.g. via tradeUpdate(), would not harm.