LVP skipped sometimes
Currently the LVP check in the main loop is triggered on a single tick value. It is possible that this tick is skipped by using a delay in the main loop.
Add an overflow, interrupt like bit to trigger LVP on the next iteration of the main loop.