Outlook Object Model: detectar si se ha enviado un correo electrónico

Tengo el siguiente código en mi aplicación de prueba de Delphi 2006 BDS:

procedure TForm1.Button1Click(Sender: TObject);
const
  olMailItem = 0;
var
  Outlook: OleVariant;
  vMailItem: variant;
begin
  Outlook := CreateOleObject('Outlook.Application');
  vMailItem := Outlook.CreateItem(olMailItem);

  try
    vMailItem.Recipients.add('[email protected]');
    vMailItem.Display(True); -- outlook mail message is displayed modally
  except
  end;

  VarClear(Outlook);
end;

Necesito poder detectar si el usuario envió el correo electrónico desde la pantalla de Outlook. Intenté el siguiente código:

if vMailItem.Sent then
 ...

Pero recibió el mensaje de error "El elemento se ha movido o eliminado". Supongo que esto se debe a que el elemento de correo se ha movido a la carpeta de elementos enviados. ¿Cuál es la mejor manera de detectar si el usuario envió el correo electrónico? Además, si el usuario envió el correo electrónico, también necesitaría poder ver el cuerpo del correo electrónico.

Gracias por adelantado

Respuestas a la pregunta(2)

Su respuesta a la pregunta