Du darfst Elvis ruhig glauben, ICloneable is the way to go.
Wenn du schon unter .Net programmierst, würde ich das ganze
VCL/
RTL-Zeug schnell vergessen und zusammen mit dem T-Präfix und globalen Variablen wegsperren.
Ich glaube zwar nicht, dass du mir ein einziges Argument für TPersistent unter .Net liefern kannst, aber: Du solltest Assign(To) auch überschreiben.