Thanks, You guessed correctly.
I currently applied such an approach without a model state, with minor success (basically due problems with efficiently suppressing component in assembly without too many many mess, ie. View Reps not surviving hiding, LoD messing up with drawings, Enabled doing nothing, and other. I think You know it best.). What I am able to do now it is to "switch" the whole project tree according to settings in a spread-sheet according to part number selected. Unfortunately it does not fully cover my needs, because I can't see and compare two part numbers at the same time. Not mentioning, that switching process takes quite a bit of a time.
The downside of any approach which is not top-down is the continuous application of changes to all components in a tree each time master, top level configuration changes. Remember, those components are used in many projects, so this may be a breaking change if I don't return to "base" configuration. This may be escaped with iAssembly/iPart one-row-per-variant, but it generates tremendous amount of member files which are extremely hard to keep up to date. Btw, I hope You are aware, that many changes in iAssembly/iPart factory does not trigger update of the member files, right? And that since certain version Autodesk disabled ability to validate it by graying-out many menu options when editing a member file, right?
Model State, as far as I did understood (I don't want to upgrade and mess up my work environment just to try it out) does not produce "member files", so if it covers the functionality of iPart/iAssembly it will be a better solution.
The problem is, that what You do propose in a last paragraph (iLogic Design Copy) is, as far as I remember, a suggestion to create few thousands of project copies (I am giving my customer about ten options to make a choice from, what produces thousands of variants). Those copies will be independent of each other, right? How do You imagine to maintain them and keep up to date?
(....) drive configurations at all levels from the top-level assembly like in SWX Configuration(...)
Hah! SWX is Solid Works? I wasn't aware it has such a functionality. I will give it a try. If it will work I think I could save tens of work hours. Thanks for a suggestion.