It is not "possible to send a UIMessage FROM the UI TO the TS engine", but I don't understand why you would want this.
When your UI event occurs you want to call a DLL function. Why do you want to do this through the engine? In contrast for example, in CVI I could program a callback triggered by the event, where the callback calls a DLL function. If you are looking to control your executions before the DLL function is called, you could do this from within your callback (e.g. Engine.BreakAll). I am trying to clarify the purpose of posting your message through the engine.