Warum fügst du Betreff und Datum in die Memos eins und zwei ein und löscht deren Inhalt gleich wieder innerhalb der Schleife?
Delphi-Quellcode:
Memo1.Lines.Add('Betreff:' + IdMessage1.Subject);
Memo2.Lines.Add('Datum:' + DateToStr(IdMessage1.Date));
// ...
Memo1.Clear;
Memo2.Clear;