Awesome system. I just made a bunch of stat functions, and it should work really well with them.
Anyway, I found a bug. In the death trigger, you need to make sure abu isn't 0 before running the code posted below. That or check it in ABuffUnitCleanup. Otherwise you'll be destroying a nonexistant trigger.
set t = timerStr.create()
set t.data = integer(abu)
call TimerStart(t.t, 0.0, false, function ABuffUnitCleanup)