It is rather complicated and hacky to try computing the correct
parent inverse matrix for Child Of outside of constraint evaluation.
To avoid problems, change the Set Inverse operator to simply set
a flag for the matrix to be recomputed during evaluation, which is
how it already works for some other constraints like Stretch To.
The downside of this approach obviously is that if the constraint
is disabled, Set Inverse will actually happen when it is re-enabled,
rather than immediately.
In addition, this changes the way how the inverse matrix works when
some of the channels of the constraint are disabled. Specifically,
before this the channel flags were used to filter both the parent
and the inverse matrix, which makes no sense, and means that it
is impossible to make an inverse matrix that would actually fully
neutralize the effect of the constraint. Now only the parent matrix
is filtered, while inverse is applied fully. This change is not
backward compatible, but it should be OK because the old way was
effectively unusable, so it's likely nobody relies on it.