I agree about heroes in AoW:SM becoming more and more alike the higher level they get. I only just got the game recently, but all my heroes end up with the spell caster ability, high hp, attack and damage... So I'm all in favor of the game forcing different heroes to evolve in different ways. I'd like some input as to how they change with experience, but not too much.
What about a system that uses the personality/specialty of a hero combined with how you use them? If you recruit a hero who's famous for knocking people's heads in with a hammer, and you primarily use him to knock people's heads in with said hammer, then he should get better at knocking people's heads in
. On the other hand, if you use him to explore uncharted or scout enemy territory, he can gain scouting abilities - but relatively slowly, because even if you force him to go scouting, the driving force in his life is knocking peoples heads in with his hammer.
On the other hand if you recruit a forester with renowned scouting abilities, and use him to scout he will quickly improve his abilities. But if you including him with your main army and he ends up in the midst of a lot of fighting, he could slowly improve his combat skills - but not as fast as the guy with the hammer would.
In other words, the way your heroes evolve depend on the way you use them - but each hero has certain areas that they improve faster in, so it would be difficult to get a scout strong enough to go head-to-head with an equally experienced warrior hero.
Edit: I just wanted to add that I'm against hero abilities/stats/experience being temporary unless you continually keep them in practice. I think that in general, if you give something to the player, taking it away again because of some technicality is a bad idea. To me it's a case of too much realism being a bad thing. I play games to have fun; most of real life isn't particularly fun -> games should not mimick real life too closely 