Analytic/cost accounting has meaning only if all lines from income (P&L) have a correct repartition on all analytic axes.
This can not be enforced at the creation because the accountant (or the Model) could not know at this time the analytic repartition.
So the idea is to define a state on move line which will be updated each time the linked analytic lines are modified.
And to also add a view which shows all the posted lines that are not valid and allow user to correct the analytic lines.
This make the 'mandatory' field change a little bit of meaning because it is about making the account mandatory earlier when entering document.
About the evolution over time, if an axes is inactivated, this should not be a problem as previous line will still be valid and new line will only requires active axes. If an axes is added, I think it should only invalidate lines that are modified after the creation. This will not guarantee 100% of correctness at the beginning of the activation but it will stabilize over time.