You create a dummy unit under every unit on the map. This is probably very expensive as each dummy unit may need to be displaced (which is costly in WC3) resulting in a huge consumption of processor time. On top of that you do this more than once a frame, total madness!
Try recycling dummy units. If you need to create dummies, make them nearby the unit semi-randomly so that they have little chance of needing displacement. You could also try load spreading so that each update only does some units.
Thus my advice.
1. Lower update frequency.
2. Load spread over many updates (can raise update frequency for this to some extent).
3. Recycle dummy units. Create them once and only remove them when the effect ends.
4. Cache intermediate results. Use a pre-filtered group of units containing the buff and remove / add them only when the buff status changes.
5. Remove dummy unit, not kill as kill may require time for removal.
What does this dummy do anyway that it needs to be created and killed 100 times a second? Maybe move it instead?