Memo1->Clear() очищает не все строки ... а почему?
Добавляем в Memo1 строки
Memo1->Add("first");
Memo1->Add("second");
Memo1->Add("third");
Memo1->Clear();
Стирается только 1 строка.
Memo1->Lines->Clear
Да и добавлять желательно таким образом:
Memo1->Lines->Add();
Memo->Clear() работает так же как и Memo->Lines->Clear() и оба способа очищают Memo полностью. А вот метода Memo->Add() нет, поэтому не понятно как у тебя вообще чего-то добавлялось Добавлять нужно Memo->Lines->Add().