That bug has been around since ... always. Also happens with
health data.
You cannot do calculations with DynamicData. You can assign it to an element and read the value (LocalText, Progress, etc.) back to make the calculation. I can't think of a way to make it update in realtime right away. If the power bar auto-shows when the DynamicData changes (at least in the target window the bars or the page they are in does that) you can make an OnShow event that triggers calculation and then sets the bar to "visible=false". Next time it is updated it will hopefully show again, triggering your event.
Of course, if you manage to get the real-time events, you may also be able to just reset the color of your current text field.
