If the vital per stack is 1, and the limit to the units bonus is 500, thats 500 buff stacks. However, I got more creative in my thinking and wanted to do a percentage of the targets health rather then just a flat amount so I used triggers and data combined (with some clever manipulating of decimal points) to create a system where it increased the max vital every second based on percentage of the targets health. Problem was, (and was not the trigger part) but the buff stacks do lag the game, even if they are just max vitals. I maxed out the buff stacks for both life and shields to 60,000. Game was completely unplayable. Once I killed the unit, lag was gone!
So lesson for me and hopefully for others is this: Buff Stacks WILL lag the game if you start to get into the thousands. Even if its only on a single unit., regardless of your triggers.
Seems to me that in this case, triggers is actually a much cleaner solution because it modifies your unit with 0 stacks or upgrades and you have all the temporary modifications you need. To limit the HP you simple set a unit property condition into the trigger. Then set a while behavior is on every second modify max vital based on % of target max vital.