Grigore,
It appears to be your use of the Objects[] collection that is causing the dangling internal reference.
However, if you use the Buttons collection instead it works just fine. Change your Enabled_Assign to this:
LPARAMETERS vNewVal
local i
THIS.Enabled = m.vNewVal
for i = 1 to this.ButtonCount
this.Buttons[i].Enabled = m.vNewVal
endfor