I got rid of all of the RenPy-related files I could find. Sadly, it didn't solve the problem.
See the the puff of smoke hitting the enemy on the left? On the first hit, the explosion animation works like it normally does. However, if it hits the 2nd time, it will stay on first frame until the the following shot. The pattern will "reset" on a miss.
For a visual demonstration, let's say 6 shots are fired in a turn
When I revert back to the 1.5.2 version the problem disappears.