Isn't there an unseen formula that calculates the strongest creature in the group? The outcome will decide the leader?
Maybe Bullfrog implented that the Wizard is stronger because of it's spells..
That would be logical, however I did some new tests by adding an Avatar to the party, and changing in some scenarios the Wizard into a Warlock (Sorceror). And one would think the Avatar would always take the lead because he's by far the strongest unit, even at lower levels, my tests show otherwise. I also thought leadership was also influenced by gold the creature/hero in question, but that was wrong again.
My guess that Searingflame's theory does some sort of role, but because leadership qualities are hidden values we cannot know for sure.
Scenario 4
Code:
CREATE_PARTY(ELITE)
ADD_TO_PARTY(ELITE,SAMURAI,10,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE,SORCEROR,10,1500,STEAL_SPELLS,0)
ADD_TO_PARTY(ELITE,BARBARIAN,10,1000,STEAL_GOLD,0)
ADD_TO_PARTY(ELITE,GIANT,10,1000,STEAL_SPELLS,0)
ADD_TO_PARTY(ELITE,AVATAR,10,2000,ATTACK_ENEMIES,0)
Leader: Warlock
(most spells)
Scenario 5
Code:
CREATE_PARTY(ELITE)
ADD_TO_PARTY(ELITE,SAMURAI,9,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE,SORCEROR,8,1500,STEAL_SPELLS,0)
ADD_TO_PARTY(ELITE,BARBARIAN,8,1000,STEAL_GOLD,0)
ADD_TO_PARTY(ELITE,GIANT,7,1000,STEAL_SPELLS,0)
ADD_TO_PARTY(ELITE,AVATAR,8,2000,ATTACK_ENEMIES,0)
Leader: Warlock
(equal spells to Avatar)
Scenario 6
Code:
CREATE_PARTY(ELITE)
ADD_TO_PARTY(ELITE,SAMURAI,9,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE,SORCEROR,8,1500,STEAL_SPELLS,0)
ADD_TO_PARTY(ELITE,BARBARIAN,8,1000,STEAL_GOLD,0)
ADD_TO_PARTY(ELITE,GIANT,7,1000,STEAL_SPELLS,0)
ADD_TO_PARTY(ELITE,AVATAR,9,2000,ATTACK_ENEMIES,0)
Leader: Warlock
(has 8 spells vs Avatar's 9)
Scenario 7
Code:
CREATE_PARTY(ELITE)
ADD_TO_PARTY(ELITE,SAMURAI,9,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE,WIZARD,8,1500,STEAL_SPELLS,0)
ADD_TO_PARTY(ELITE,BARBARIAN,8,1000,STEAL_GOLD,0)
ADD_TO_PARTY(ELITE,GIANT,7,1000,STEAL_SPELLS,0)
ADD_TO_PARTY(ELITE,AVATAR,9,2000,ATTACK_ENEMIES,0)
Leader: Wizard 
Scenario 8
Code:
CREATE_PARTY(ELITE)
ADD_TO_PARTY(ELITE,SAMURAI,9,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE,WIZARD,7,1500,STEAL_SPELLS,0)
ADD_TO_PARTY(ELITE,BARBARIAN,8,1000,STEAL_GOLD,0)
ADD_TO_PARTY(ELITE,GIANT,7,1000,STEAL_SPELLS,0)
ADD_TO_PARTY(ELITE,AVATAR,8,2000,ATTACK_ENEMIES,0)
Leader: Wizard
(note he's a far lower levels than the others)