>> может мой пример не совсем корректный
ага, совсем не корректный

Код AS1/AS2:
var tf=_root.createTextField("tf",0,0,0,200,200);
var setVal:Function = function(prop, prev, curr){
trace( "setVal > prop : " + prop + ", prev : " + prev + ", curr : " + curr );
tf.text = curr;//в текстовом поле выводится измененная величина
return curr;
}
_root.val = 10;
_root.watch("val", setVal);
_root.val = 12;