I know that in 1.08 version that the game has no problem determining what level the brigade should be when adding a division (add_division). Also it states that "Brigade model is always the latest" in the Paradox Wiki Modding section and is in the event commands.txt file that is in the patches.Possibly it might be that they lack the ability to check what the current research level is, or that such a measure could otherwise be seen as a cheat
The game does record the highest level of each brigade. It's in the respective countries .inc file (for when a new scenario is selected) and in the saved game file. The field is called techapps and it stores the techs that country have already research. Think about when you go to produce/create a division with a brigade attached. Does add that division, and the brigade, to the Production line/pool as Great War Infantry with Great War Light artillery if that country has researched 1939 Infantry and 1940 artillery? No. Because the game knows what level the Infantry division is and what level the artillery is.To be accurate and fair it would require the game to record what level each art brigade was and regenerate one at that level which would be a substantial issue and perhaps impossible even if the game designers had thought of such a capacity which they very likely hadn't.
The event I have is to correct another issue that the game has, not assigning the leaders that are in the country .inc file (which has all of the proper levels of artillery and engineers). Are you talking about is when the scenario is first started? Some units do not have the highest level of a brigade(s) so that it simulates an ongoing upgrade. My event is to replace the leaders per the country's .inc file.If a player did what your suggesting and it automatically regenerated as the most modern art research then the Soviets would get a significant boost to their forces strength for free. If I understand what your say unless I'm missing something?
A good example would be the Spanish Civil War and how the unit are created. Also, the Soviet, Italian, and German units sent (created by an event) to their respective supported Spain (SPA or SPR).
What we really need is a replace_commander command. Then removing a unit and recreating it with the proper commander would work.