Why indexed fields with DD_Commit set to true can get the focus?

We have a order entry view style with a child table where we use the commit feature. The main and child DD's has the IsCommitted function working as expected and when the record is committed all the fields are disabled (displayonly), except the indexed field of a child table placed in a cDbCJGrid.

In File_Field_Committed_Options function from Datadict.pkg I got this
        Get File_Field_Index iFile iField to iIndex
        Get IsCommitted of hoOwner iField to bIsCommitted
        If bIsCommitted Begin
            Get IsFieldCommitted of hoOwner iField to bIsCommitted
            If bIsCommitted Begin
                // if committed, it is noput and, if non-indexed, also noenter
                Move (If(iIndex=-1,DD_DISPLAYONLY,DD_NOPUT)) to iNewOpts
        // if a finding parent field, we want to know if you are allowed to switch parents as we will assume
        // that this field is used for finding.        
        If (hoOwner<>Self and iIndex>-1) Begin
            Get AllowParentFind of hoOwner to bIsCommitted
            If not bIsCommitted Begin
               Move DD_DISPLAYONLY to iNewOpts
I know the noput option is on, but when, under the same conditions, some fields are enterable and others not (and those enterable fields doesn't save its changes), end users get confused.

As the server (hoOwner of the above code) of the cDbCJGrid cannot be changed (child table DDO), is there a way to change this behaviour and set the indexed fields to display only too?