Schau dir einmal an was du im Setter machst:
Du setzt die Eigenschaft selbst erneut.
Dabei wird dann der Setter erneut aufgerufen, setzt die Eigenschaft, dabei wird der Setter aufgerufen, setzt...
Und zack, Stapelüberlauf...
Das habe ich nun auf den ersten Blick gesehen, aber ich möchte dennoch kurz zeigen wie du das auch debuggen kannst. Und zwar öffnest du das Package und trägst dann unter Start --> Parameter... Delphi selbst als Hostanwendung ein. Dann setzt du einen Haltepunkt auf den Setter und drückst normal F9 zum Ausführen. Nun startet Delphi selbst ein zweites Mal im Debugger.
Dann erstellst du in dem debuggten Delphi ein neues Projekt, packst deine Komponente drauf und klickst die Eigenschaft an. Nun landest du bei deinem Haltepunkt und kannst schauen was passiert. Das sieht dann so aus:
Wie du siehst landest du immer direkt wieder im Setter. Den Grund habe ich ja schon erläutert.
Nebenbei:
Sowas passiert, wenn man den Setter anders als die Eigenschaft nennt...