You still have the same problem I already told you about several posts back:
Code:
local BuffStatusBar = ABuffFrame.StatusBar
if not BuffStatusBar then
-- Everything in here only runs the FIRST TIME a button is used!
end
-- Code out here runs every time the button updates.
The code that updates your statusbar is in that "only run the first time" section. Anything has to do with a specific aura (eg. calling UnitAura and doing stuff with the values you get back) needs to be
outside of that section, or you will continue to have the problem you're describing.
Edit:
Also, you should move lines 212-237
into the "only run the first time" section. There's no need to run all that stuff over and over.