I mean, why don't you simply set the current mana of the hero to 100 when it goes beyond 100? It can be done simply in GUI.
Create a periodic trigger that goes off every second and pick every unit matching whatever type. Then just check if they have more than 100 mana and set it to 100 if they do.
Otherwise, it would be rather difficult to tweak the max mana of the hero everytime it goes above 100.
PS: If you don't understand the SetUnitMaxState, its rather simple how its done:
When you add a +hp/mp skill to a unit, the unit gains the bonuses. However, when you level the skill, the bonuses are still that of level 1. When you remove it, it removes the health based on the current bonuses that the level of the ability is supposed to give.
Therefore, if Level 1 gives 100 health, and level 2 gives 0 health, you can use this to add 100 health.
Add The ability.
Set It to level 2.
Remove it.
It can be done for mana too. You can try doing this whenever your hero acquires an item and use some conditions and loops or something to check how much mana you need to take away.