Hi,
For ints, I would simply convert your int into a float first and then do the math then
as for the overshoot, I can't really see what's wrong in your state stack of actions, but as Alex suggested it, clamping is the way to go.
maybe 100 is not the right value. Double check manually what is the max inset values you should set it for, it's usually helping, you may have some scaling, or indeed your max pixel size is not 100.
also you might confused the "health" value, with the actual "width" of your texture.
Bye,
Jean