This works for me, note the use of "ControlGetText" to get the message text rather than the kludgy cut'n'paste method.
Code:
Break ON
$=SetOption("Explicit","ON")
 
Dim $oAutoIT
Dim $sTitle,$sMessageText
Dim $iControlMessage
 
Dim $sFrom,$sTo,$sDate,$sTime
 
$sTitle="Messenger Service"
$iControlMessage=65535
 
$oAutoIT=CreateObject("AutoItX3.Control")
If @ERROR OR VarType($oAutoIT)<>9 "Cannot create AutoIT object - no registered perhaps?"+@CRLF Exit @ERROR EndIf
 
; Set some useful options.
$=$oAutoIT.Opt("MouseCoordMode",0)
$=$oAutoIT.Opt("WinTitleMatchMode",4)
 
While "True"
	"Waiting for "+$sTitle+" window to appear..."+@CRLF
	$=$oAutoIT.WinWait($sTitle)
	$sMessageText=$oAutoIT.ControlGetText("last","",$iControlMessage)
	$=$oAutoIt.WinClose("last")
	; Parse message text
	$sMessageText=split($sMessageText,@CRLF)
	$sFrom=Split($sMessageText[0]+"      ")[2]
	$sTo=Split($sMessageText[0]+"      ")[4]
	$sDate=Split($sMessageText[0]+"      ")[6]
	$sTime=Split($sMessageText[0]+"      ")[7]+" "+Split($sMessageText[0]+"      ")[8]
	$sMessageText[0]=""
	$sMessageText=SubStr(Join($sMessageText,@CRLF),5)
	"From   :"+$sFrom+@CRLF
	"To     :"+$sFrom+@CRLF
	"Body is: "+$sMessageText+@CRLF
	"------------------"+@CRLF
	; Give the window a chance to close...
	Sleep 0.2
Loop