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