I realized, that after a battle the channeler receives 50 XP, his summoned pet receives 40 XP and soldiers get 5 XP each. I do not know why those numbers, but this might be OK. Other heroes ususally get 0 XP (at least it is displayed) even after a tough fight. The thing is they level from time to time, so I guess the problem is in the dialog after the battle.