I don't know how you keep the hero from taking damage, my only thought on that would be to set the heroes life to a variable then add life to that in the amount of damage done.
Like unit is attacked, actions = Unit>Set life to life of unit + damage done by attacker (I'm too lazy to go look it up).
It's basically alot of variables. The event is going to be Unit is attacked or WE Unlimited's Any Unit Takes Damage.
Then you're going to have to set a variable at 0 initially then add to it the amount of damage done to the hero. Then an event to check for when the variable reaches a certain number to turn off the trigger that prevents him from taking damage. I don't know how to do damage carry overs without variables.
Let me know if my ramblings made ANY sense to ANYONE. Because I don't even think they make sense to me.