Вероятно, ваши проблемы связаны с перечислением / индексацией коллекции учетных записей, что в Delphi несколько менее удобно, чем в VBA.
Я выложу пример кода ниже. Для краткости и удобства использования я использовал OleVariants и объявил olMailItem локально. В рабочем коде обязательно используйте раннее связывание вместо.
Кроме того, хорошо выглядите, уклоняясь от всех предупреждений безопасности, которые выдает Outlook при такой автоматизации.
const
olMailItem = 0;
var
application: OleVariant;
mailItem: OleVariant;
begin
application := getActiveOleObject( 'Outlook.Application' );
mailItem := application.createItem( olMailItem );
mailItem.recipients.add( 'someone@somewhere.com' );
mailItem.subject := 'This is a subject';
mailItem.body := 'StackOverflow... the best time to hang out at christmas.';
// This line allows you to pick any account by name
mailItem.sendUsingAccount := application.session.accounts.item( 'some account' );
mailItem.send;
end;