hi team,

i know you want to remove this with ext 4 and this is good.
but for ext 3, you definitely should remove flags on children as well, as you already have a not used method for this already (see the fix):

Code:
Ext.override(Ext.form.CompositeField, {
    clearInvalid : function() {
        if (this.rendered && !this.preventMark) {
            this.clearInvalidChildren();
        }
        Ext.form.CompositeField.superclass.clearInvalid.call(this);
    }
});

kind regards
tobiu