Hat aber nichts mit FreeMem zu tun.
Natürlich hat es das! Wenn du den Pointer unter Buffer überschreibst, dann kann das FreeMem damit nicht mehr wirklich was anfangen.
Der Code läuft garantiert unter D5, D7, D2009, XE8 und 10.1 Starter, nur nicht unter 10.1 Up1.
Und das ist das Problem.
Das ist wohl eher Zufall!