Man sollte sich vor allem ins Gedächtnis rufen, dass der Speichermanager in der
DLL nichts vom Speichermanager deiner Delphi Anwendung weiß. Von daher kann der
DLL Speichermanager nicht einen Block realloziieren welcher nicht von ihm verwaltet wird (sondern vom Delphi Speichermanager). Auch wenn er es vllt. frecher weise trotzdem macht hilft es keinem, da dann nach der Rückkehr der Delphi Speichermanager nichts mit der neuen Adresse anfangen kann, da diese nicht von ihm verwaltet wird.
Schon allein aufgrund dieses Hintergrundes muss eine strikte Trennung vollzogen werden und dann leuchtet einem auch der Zwang zu der Verwaltung wie in der
WinAPI (exklusive ShellAPI) genutzt ein.