The resetting worked in some cases (bats that spawn hanging upside-down?) but not all, so you're partway there :) Still sounds like a frustrating bug to squash.
Without knowing how your game is set up, hard to offer any advice. I'd probably track the original spawn position of every enemy and, upon loading at a checkpoint, tell each enemy to reset back to that position in the passive state.