After 3 hours of trying everything I could think of, I have a procedure that is topo-error immune and parametric.
First, this is how I test for a topo error (all in Part design). Sketch and pad a solid cube, click on the top cube face and sketch and pad a feature on that face. Then go back to my first solid and change it from a cube to a hexagon. This is guaranteed to create a topo error every time because of the new faces created in the first feature, the face numbering gets all screwed up.
I won't go thru my thought process but it brought me to this; Creating a sketch and pad/pocket is a bad thing, we loose control of the faces, if instead we create two identical sketches, offset one of them (on the z axis) and then loft between them
. What we get from a loft is two faces (top and bottom), this is fix #1 because now we have two faces of a solid that can't be renumbered (top and bottom). Fix #2 is the fact that because the solid is a loft of two sketches we now control the faces of the sketches, if we add more sketch edges then it will be obvious what face things are attached to and of coarse will need to be reattached.
One thing I found was to attach a sketch to a loft I had to create a datum plane.
The way I see this; someone could code up creating features with lofts instead of padding and pockets, it appears (so far) that would fix topo errors. I'm also sure it's not that simple but this has merit.
Attached my sample file.