If not doing anything for these conditions, add a comment at least saying we're not doing anyting so reader knows it's intentional and not an oversight.
In pre-treat, there were transfers from one reservoir to the other that caused a false alarm. Figuring that out in SW at this level seemed overly complex. Also, the ticket notes this problem in Treatment only.
Why is this reservoir check only happening in this state? Recommend creating a separate function to perform the check and call that function from gen idle exec function (i.e. do check in all gen idle states).
Since the utility is finding the difference of two numbers, I see the logic is common. for instance, On a positive case, u32DiffWithWrap(9000, 26000) where 9000 is the adjustment number and 26000 is the current timer value, the result is 26000-9000 = 17000. on a negative case, u32DiffWithWrap(9000,4000) where current timer value is 4000, the result would be 0xFFFF FFFF - 9000 + 4000 + 1. i.e: FFFF FFFF - 5000 + 1. Do you still see any concern?