Так трудно сказать - Вам надо смотреть, что возвращает строка
iSenderName = MailMsg.SenderName
вдруг там неверно определяется адрес - такое тоже может быть.
Ну и вообще надо пошагово просмотреть код, убрав строку On Error Resume Next - скорее всего где-то ошибка возникает, поэтому и не создается.
Все это про второй код написано.