A simple ELSE construct should suffice. You can also leverage the return code directly, instead of assigning it to a var and then testing that var.
 Code:
If KeyExist("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles")
  ; exists - just exit
  Exit 0
Else
  Shell 'E:\PROGRA~1\MICROS~1\OFFICE11\OUTLOOK.EXE /importprf E:\PROGRA~1\MICROS~1\custom11.prf'
  ; can check for status??
EndIf
Couple of points:
Using single quotes in the SHELL and RUN commands allow you to embed the double quotes that command lines prefer.

You can simplify this to
 Code:
If Not KeyExist
("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles")
  Shell 'E:\PROGRA~1\MICROS~1\OFFICE11\OUTLOOK.EXE /importprf E:\PROGRA~1\MICROS~1\custom11.prf'
  ; can check for status?? Exit w/ error code?
EndIf
Exit 0
but this logic form may not be as comfortable as it uses negative logic. Either one will work equally well.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D