The current method of cuts as assembly level features drives a lot of issues when dealing with complex bill of materials. When an assembly cut is made, a feature is added to the piece part level after regeneration. This causes the actual change of the geometry (whether it is adding a hole, etc.) to occur, in the model tree, way before the actual assembly feature is located. This causes changes to feature id's, etc. that impact the assembly features higher in the model tree. For example, if you create a Creo Solid Weld in an assembly, then create a machining cut after the weld, which might reflect the real life order of operations, that cuts through an edge or surface that the weld references, your weld will either fail or have a portion of the weld disappear. The work around is to create a copy of the surface or edge at the piece part level that the weld can reference. This copy exists before the assembly level feature is added to the piece part, so it is not impacted.
I do not know enough of the programming behind the geometry manipulation to have a good suggestion on a solution. My thought is that assembly features need to move away from being added at the piece part level, and somehow need to be able to manipulate the geometry at the assembly level itself. Something like "negative material" that is able to remove material that might exist in the same location, but exists in the assembly rather than at the part level.