Helfen kann ich jetzt nicht,
aber weil da grade bei uns was am Mailsenden umgebaut wird ...
Generiere dir eine EML-Datei und lass' sie von Windows im Standard-MailProgramm öffnen (ShellExecute/CreateProcess).
Bezüglich Outlook hatten wir auch schon länger eine andere Lösung:
Im .Net hat Microsoft eine ordentliche
API zum Outlook.
Statt
MAPI hatten wir uns schon vor Jahren eine .Net-Consolen-EXE gebastelt, welcher wir das Gewünschte per Parameter geben und die es über die
API im .Net-Framework an Outlook übergibt.
Probleme hatten wir mit Outlook und
MAPI immer mal wieder, in den letzten Jahrzehnten. (vor allem bei 32 Bit-Programm zu 64 Bit-Outlook uvm., drum alternativ über .NET ... und Dateianhänge über
MAPI gibt es ja nicht wirklich so richtig)