Den Record als packed record und die Liste als Interface sollten es dir ermöglichen den gleichen Code (für Record, Classe und Interface) in beiden Delphi versionen zu benutzen. Da Delphi-Interfaces immer
COM-interfaces[1] sind und packed Records keine Alignment-Ärgereien machen dürften[2], würde ich davon ausgehen, dass du sie einfach in exportierten Funktionen der
DLL ein- und ausgeben kannst.
[1]müssen gleich sein, da sich an
COM seit damals wohl nix geändert hat
[2]müssen auch kompatibel sein, da das nunmal der Weg ist um Strukturen an non-Delphi-Sprachen zu übergeben.