Похоже, нашёл проблему в почтовой библиотеке PureBasic.

Судя по всему, CreateMail() не кодирует не-ASCII заголовки письма по RFC 2047. Из-за этого некоторые более строгие почтовики могут просто ломать поля From и Subject, если там есть кириллица.

Например, у меня Yandex при примерно таком отправителе:
FromWhom.s="программа PTAFL <noreplay@<example.com>"
Subject.s="Заказ 123"
показывает EMPTY-FROM с отсутствующей темой. Причина- в кириллице.
Если все заменить на латиницу- тогда у яндекса всё проходит. Как и в письме- в латинице.

Кому не трудно, можете проверить у себя. Нужно только подставить свои SMTP-сервер, логин, пароль и адрес получателя:

Код:
FromWhom.s="Программа <yourmail@example.com>"
Subject.s="Заказ 123"
Body.s="Тестовое письмо"
Mail=CreateMail(#PB_Any, FromWhom, Subject)
If Mail
  AddMailRecipient(Mail, "recipient@yandex.ru", #PB_Mail_To)
  SetMailBody(Mail, Body)
  SendMail(Mail, "smtp.example.com", 587, "yourlogin", "yourpassword", #PB_Mail_UseSSL) ;SMTP-порт укажите свой, 587 здесь только пример
  FreeMail(Mail)
EndIf