Hi FabrÃ*cio,
thank you for your suggestions. Since you consider the described behavior to be expected, I am afraid that the only workable solution in our case is IsDirty() override for RadioButton. The problem is that the value of the RadioButton and the result of its getValue() function are different (as I tried to indicate in the screenshots attached to the very first test case). Based on this finding (meaning this.value always seems to be correct unlike the this.getValue() function), the following override can be applicable:

Ext.override(Ext.form.field.Radio, {

    isDirty: function () {
        var me = this;
        //return !me.disabled && !me.isEqual(me.getValue(), me.originalValue)
        return !me.disabled && !me.isEqual(me.value, me.originalValue);
    }

});
Fortunately, as you pointed out, the submitted form values are correct, and so this seems to be the only correction needed.

Of course, without a deeper immersion in ExtJS code, I can't know if it's a general or sufficiently reliable solution, but so far it works well, at least in our applications.

Thank you for your patience and helpful comments.

The thread can be closed.

Kind regards
Dan