I'm sure someone has figured this out way ahead of me, but I see posts about people "rerolling" hit dice each level up so it's no harm to share...How the game determines how many hit points to give you at level up:
1) It calculates your MAXIMUM possible hit points based on your class, race and level: I forget how it works but from most to least: 1) Samurai 2) Fighter/ Lord 3) Priest/ Wizard/ Thief/ Ninja 4) Mage. Dwarves get a HP bonus compared to humans, Elves get a HP penalty.
2) It rolls a percentile dice and possibly adds your VIT and/ or LUCK to the roll, with a ceiling of 100%. Then it multiplies your MAXIMUM by the percentile.
3) If the new score is higher than your current score, it gives you the difference. If it is less than your current score, you gain +1 HP.
Example:
Let's say that an Elf Samurai can receive a maximum of 11 HP per level (I don't recall the exact number). He has 70 HP at level 8. When he levels up, the game calculates that his max is now 99 HP. Then the game rolls a percentile. 70% or less the Elf will gain only 1 HP, and 1-5-18% chance (depending on vitality) that the percentile roll will be 100, in that case the Elf will gain 29 HP. Therefore there is a 70% of gaining just 1 HP.
This is why occasionally you will gain over 100HP in a single level up.
Therefore:
1) In the long run, changing classes to gain more HP is pointless. The way to get more HP in the long run is to gain more levels.
2) Each level you have a chance of gaining the maximum HP. So it's a waste of time to keep rerolling HP at each level up. If you want to reroll, just do it for characters that are really unlucky and get really behind their MAX. Basically you only need to reroll once every 5-6 levels and you'll still not be behind.