Nice mission brief. A couple of ideas...
Create a new hidden trait named FixedModel. Give it to every character whose model you do not want to change when they become leader/heir. That would be your "starting characters" you mentioned and could also be given to characters who are spawned later in the game.
In your faction leader/heir trait triggers, only give them to those who do not have FixedModel...
Code:
;------------------------------------------
Trigger FactionLeader_trigger1
WhenToTest BecomesFactionLeader
Condition Trait FixedModel = 0
Affects FactionLeader 1 Chance 100
;------------------------------------------
Trigger FactionHeir_trigger1
WhenToTest BecomesFactionHeir
Condition Trait FixedModel = 0
Affects FactionHeir 1 Chance 100
Alternatively, if you want these guys to still get the leader/heir traits, just not change their model, then expand on that a little...
Remove the Level effect from the leader and heir traits. Create two new hidden traits: FactionLeaderModel and FactionHeirModel. Put the Level effect in those traits instead.
Use triggers to give the leader/heir trait to anybody. Use triggers to only give these new Model traits to those who do not have the FixedModel trait...
Code:
;------------------------------------------
Trigger FactionLeader_trigger1
WhenToTest BecomesFactionLeader
Affects FactionLeader 1 Chance 100
;------------------------------------------
Trigger FactionHeir_trigger1
WhenToTest BecomesFactionHeir
Affects FactionHeir 1 Chance 100
;------------------------------------------
Trigger FactionLeaderModel_trigger1
WhenToTest BecomesFactionLeader
Condition Trait FixedModel = 0
Affects FactionLeaderModel 1 Chance 100
;------------------------------------------
Trigger FactionHeirModel_trigger1
WhenToTest BecomesFactionHeir
Condition Trait FixedModel = 0
Affects FactionHeirModel 1 Chance 100
That's "fixed" as in "unchanging", not "repaired". Maybe not the best name for it.