Das sieht soweit erst einmal gut aus sofern TMasterDevice keine Klasse ist. Die Frage ist aber wie das Interface aussieht. Erstens dürfen in dem Interface selbst
keinerlei Objektreferenzen vorkommen. Bei Packages sollte zwar auch das funktionieren, macht aber normalerweise keinen Sinn, da du dir dann auch das Interface sparen kannst.
Sinnvoller ist wirklich alles mit Interfaces zu machen. Denn sonst mischst du verschiedene Lebenszyklen von Objekten und Interfaces, das gibt nur Probleme.
Und zweitens musst du schauen, dass auch die Datentypen passen, z.B. dass keine Strings vorkommen (nur WideStrings oder PChars etc.).
Dazu kommen dann noch Threads. Wenn das Interface von mehreren Threads verwendet wird, musst du sichergehen, dass darin nicht auf irgendwelche threadübergreifenden Felder ohne Synchronisation bzw. Locks zugegriffen wird.
Ohne mehr Quelltext lässt sich dazu aber nur schwer etwas sagen. Gerade Probleme mit Threading oder Interfaces lassen sich nicht so einfach aus der Ferne diagnostizieren.