Here's what's happening, right?
Kix Script RUNs a CMD file, then loops waiting for a flag file to be created by the CMD file... when the CMD finishes, the Kix script continues.

Now - you need to send one or more status messages from the CMD script to the logged-in user.

The Kix and CMD file are started with elevated rights, and likely running in the "hidden desktop" context. The user can't see the output.

How is the Kix script being initiated? Does the user login process trigger this in some way?

Basically, you need some process in the User's context to display messages. If the CMD script can run something like
 Code:
Echo [MESSAGE]>C:\temp\SMessage.ini
Echo HEADER=Status Message >>C:\temp\SMessage.ini
Echo BODY=Do not interrupt the installation or I will send 440 volts to your keyboard! >>C:\temp\SMessage.ini
you can use a Kix script to display it. This creates an ini file every time a new message is to be displayed, and assumes that the display process can find and display messages faster than the CMD can generate them.

The Kix "monitor & report" script would be run during the login process, again started by a RUN 'KIX32.EXE MandR.Kix' from your Kix login script. On the crazy notion that you don't use Kix for login scripts, you could use a START Kix32.exe MandR.kix in your bat file.

The MandR.kix would be something like this:
 Code:
; do var inits, etc...

$Tag = 1
If Exist('C:\temp\InstallIsDone.flag')	; cmd script is done - exit!
  $Tag = 0
EndIf

While $Tag
  If Exist('C:\Temp\SMessage.ini')			; new message - display it
    $Header  = ReadProfileString('C:\Temp\SMessage.ini', 'MESSAGE', 'Header')
    $Message = ReadProfileString('C:\Temp\SMessage.ini', 'MESSAGE', 'Body')
    Del 'C:\Temp\SMessage.ini'			; delete first, then display & wait
    $Rc = MessageBox($Message, $Header, 0, 10)	; display message & wait up to 10 seconds for OK
  EndIf

  If Exist('C:\temp\InstallIsDone.flag')	; cmd script is done - exit!
    $Tag = 0
  EndIf
  Sleep 5					; wait for new message or end of install
Loop
; installation is complete, you are free to use your computer again...

'Done!' @CRLF
Basically, the CMD script is writing to a file that a Kix script in the user session can read/remove. The Kix script also looks for the presence of the flag file so it knows when to exit. It also checks for the flag file at startup so it never runs the loop after the initial installation is completed.

Glenn

PS - just basic testing was done and it worked as shown, but you should add variable declarations and other nice things.. \:\)
_________________________
Actually I am a Rocket Scientist! \:D