If you need the exact Version (Revision/Iteration), maybe consider new Part Number? If you need to do Lot/Serial tracking maybe consider Part Instances.
This idea just doesn't feel right to me, but I don;t know all the details of your use case. I can't help but think there is an industry best practice methodology to achieve what you're after... Not voting down, but can't in good conscience vote up.
How are you tracking a specific configuration and whether or not a substitute is used?
I'm thinking that the Windchill configuration, as the if you build again blueprint would still reference the preferred part and that use of a substitute on a specific physical build is best captured by Part Instance. If I recall correctly, Unit/Date Effectivity and baseline filters can be applied which would connect you back to the specific versions of all Parts used, including any Substitutes.
As the "child" side is the Master, Windchill can't identifiy the correct Version without a ConfigSpec. It is the normal behaviour in this case
If you try to display Alternate/Substitute in BOM Structure View, it should use the ConfigSpec Filter Critera. And display the resulting Version (LATEST by default)