Ich finde, bei reinen Pointern weiß man eigentlich nicht im geringsten mehr was man hat.

Wenn die Motivation ist, einen Record zu kopieren reicht
meineKopie := einAndererRecord;
Narrensicherer geht es doch nicht
Auch:
Ich habe in meinem Leben noch nie Move(..) benutzt- String ist doch schon ein "managed" Type: Er hat einen Referenzzähler. Allein den machst du dir mit einer reinen Byte-Kopie schon kaputt: Er ist um eins zu niedrig.