Ich kenn mich zwar mit dem Internetzeugs nicht so aus, aber meine erste Vermutung wäre ein Problem bei der Speicherverwaltung ... du nutzt doch bestimmt den DelphiMM? (hast also keinen anderen MemoryManager eingebunden)
Dieser kann "leider" keinen speicher über Modulgrenzen hinweg verwalten, da für jedes Modul ein eigenständiger MM geladen wird, daher kann Speicher nicht in einem Modul reserviert und in 'nem anderem Modul wieder freigegeben werden, dieses pasiert aber oftmals, wenn Objekte in mehreren Modulen arbeiten sollen.
Also entweder du lagerst solche Codes
nicht in ein anderes Modul (z.B.
DLL) aus,
oder du versuchst es mal mit einem SharedMemoryManager (z.B. FastMM, FastXMM, RecyclerMM, oder ein anderer)
(falls das nicht hilft, weiß ich auch nicht weiter ._.)
PS: dein Compiler meckert doch nicht etwa ein wenig rum, bei dem
Result := False; in ServerExecute?