We use semi-finished products and actually want fully detailed BOM with all subcomponents as the exist throughout production.
Example, we cut profiles to a certain length and then these get milled in all kind of different ways.
So for this I create a profile extrusion part with a certain length.
Then we create an assembly with the corresponding profile as a part and add all the milling information in this assembly.
These assemblies then get used further up the chain and so on,...
Other milled profiles can reuse that sawn profile again and again without the need for modelstates or deriving things which makes everything a lot more complex.
In the end this generates a full BOM of our production flow and also insures that we can never "add" material to a part (since assembly features only cut away existing underlying material).
So I definitely understand the OP's question to further improve the assembly features to the same level as part features.