Thank You @dlanorh !
I tested it on 13 different blocks and it works like a charm.
As the script doesn't use dynamic 'matching' of parameter names, blocks used in the block-tag pair have to have same parameter numbering (for custom parameters). This means they have to come from common block 'tree' or 'root' where all future 'tagged' parameters are non-changable. Also linear parameters of width and height cannot be deleted and added again in a block. But surely we can manage to use always the same block "root" when producing new ones.
It's very convenient to select in tag-block order, as your script is not 'static' but adapts to fields in a tag. As of 1h testing in numerous cases on 13 different blocks (all originating from one 'root') and it works perfectly.
One slight question. Can You make it so script doesn't require dynamic block? When testing it on static blocks, it does show an alert that its not a dynamic block". I had to add at least one linear parameter to otherwise static blocks to make them 'dynamic' for the script to work. Otherwise it performed great (updating all fields - custom ones and standard object parameters).
It woud be even better if it could be used on any type of object - not just blocks...
As one can expect - when used on other blocks - silmilar but defined 'from scratch' parameter numbers change, and script gives erroneous and chaotic results.
I'm truly satisfied with proposed script, and wish to once again thank you for your help.
HINT for other CAD users:
1. Build your BLOCKS (eg. door types) on common 'matrix' or 'root' blockwith a set number of parameters
2. Make first complex TAG with multiple fields.
3. Use the script for efortless reataching complex TAGS to your complex BLOCKS.