Разобрался!!!
Оказывается надо было выставить опцию decimalPrecision: 10
itemId: "radius",
xtype: "numberfield",
fieldLabel: "Радиус",
labelWidth: 50,
step: 10,
value: 100,
decimalPrecision: 10
там по умолчанию decimalPrecision равен 2, а у меня радиус из формулы выходил со всеми знаками после запятой. В итоге иногда похоже старое значение равнялось новому... хотя didValueChange всегда равнялся = true... что весьма странно...
В общем когда я выставил 10 то все заработало. И зачем там стоит по умолчанию 2???