Die Stats von Makerhelden werden NICHT als Wert gespeichert. Sie sind die Summe aus der levelspezifischen Statskurve, Itemstats und einem Statspezifischen Differenzwert, der sowohl positiv als auch negativ sein kann.

Wenn du einen Statuswert ausliest, bekommst du die Summe. Wenn du nun zb -999 Atk setzt, wird das im Differenzwert gespeichert, da wird aber evtl. nicht abgefragt, was die für dich logisch scheinende Untergrenze ist. Versuch das Setzten mal über Auslesen des Heldenwertes und in Folge addieren oder abziehen der Differenz.

Warum übrigens sollte man das, was du hier tust wollen? Stats sind im Savegame enthalten, und Savegames in Variablen sind unpersistent.