It has been there for a while, but the trouble with this bug is that it is rare, and non-repeatable so just about impossible to debug.
Since it is rather rare, and not to be relied on, the fact that some rallies will get you back to "full" status can be attributed to a really good NCO

!
It'll be some minor line in the spaghetti, somewhere or other, and if I can ever get a debug save that has it reasonably reliably occuring, I'll be able to trace into it. That is the advantage of doing things with Borland C++ and its integrated source-line debugger, over the old DOS Watcom C++ where you had to do printfs to a TXT file (sheer joy, not

! ! - you can usually eventually find these "edge" conditions.
Andy