Ich würde auch auf TDateTime verzichten, das ist ein Gleitkommawert bei dem es zu unabsichtlicher Veränderung im Millisekundenbereich kommen kann.
Mikrosekunden als Int64 ab einem bestimmten Datum halte ich für deutlich einfacher zu handeln. Auch weil es ein Wert ist den Du so wie er ist vom System abfragen kannst.
UInt64 basiert, µs Qualität TimeCode via
QueryPerformanCecounter oder 2*DWord, µs Qualität, FileTime format, UTC TimeStamp via
GetSystemTimePreciseAsFileTime