I’ve observed that if I’m using Prototypes in a layering fashion in such that Prototype B contains Prototype A and Prototype C contains Prototype B, etc., any property changes in the lower layers does not propagate into any counters in the palette unless I shut down the Vassal module and restart, (closing the game has no effect).
Is this a bug or a feature?
I wouldn’t call it either one:) There are some edits that require a refresh before they will take effect. Graphics are a good example: a new board graphic, or new toolbar button, usually needs a restart. I think prototypes usually do as well, even if they are not nested like the way you describe.
In general, when using layered prototypes, then once you have pulled a piece from the Game palette, the prototype expansion is cached and you will need to restart the module to the changes in that piece. You should find that pulling a different piece that uses the same prototypes (and has not been pulled before) will show the changes.
There are limits to what changes you can make to a module and expect them to be sensibly reflected in a game that you already have open. Many things will be cached.