Auch wenn die beiden Klassen aus der gleichen
Unit stammen, sind die Klassen in der EXE und
DLL anders und du darfst die nicht einfach so übergeben. Was geht wäre das Übergeben eines Pointers auf den Speicherbereich oder wenn du alles in ein Interface kapselst.
Alles andere führt zu komischen Ergebnissen.
Ob es da trotzdem ein Problem mit XE7/XE8 gibt kann man also pauschal nicht sagen, erst wenn man alles richtig gemacht hat und es nicht funktioniert, dann kann man von einem Fehler sprechen.
Die Beispiele von Emba sind auch nicht als Perlen der Programmierung bekannt, daran würde ich gar nichts messen.