Конструкция типа str = str + ';' добавит в конце точку с запятой.
И попробуй вот так обрезать:
Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit2.Text := TrimLeft(copy(Edit1.Text,0,pos(' ',(Edit1.Text))-1)+ ';');
end;
Еще забыл - обрезать пробелы в начале можно командой TrimLeft.