Du kopierst nur den Zeiger auf das Element und greifst damit immer auf das gleiche Element zu. Also nix mit kopiert (vom Zeiger abgesehen).
ganz allgemein:
Delphi-Quellcode:
Kopie.Create
Kopie.Assign(self)
Wobei darin enthaltene Objekte durch den Destruktor wohl auch freigegeben werden. Kommt jetzt darauf an, was TElement genau für eine Klasse ist.