@Nepster: I made a slight change to your fix for this, I changed it to:
if (not L.LemIsZombie)
and ((L.LemAction in [baFloating, baGliding]) or HasPixelAt(L.LemX, L.LemY)) then
begin
Instead of ruling out specific cases (no fallers, no splatters, no not-standing-on-ground ohnoers), it uses a positive test instead: Either the lemming must be floating or gliding (the only cases I can think of where a lemming is intentionally allowed to exit while not standing on anything), or have solid ground underneath it.
This is in commit 79EBC77. If there are issues with this that I've overlooked, or other cases exist that you can think of, modify or revert it as nessecary.