While removing gimmicks from the code (note: for now at least, I'm not stripping zombies out, but I am stripping ghosts, and zombies-on-death, sorry), I came across a few things that show just how much gimmicks have overcomplicated and made a mess of the code, introducing subtle bugs.
The Swimmer skill in particular has a lot of these. A mild example - create a level that uses the Backwards Walkers gimmick and also has Swimmers.
What should happen: The swimmer should move normally. It could also be argued that they should swim and animate backwards, like walkers do, since Swimmers are very similar to Walkers.
What I expected from a quick look at the code: Exactly what *actually* happens.
What does happen: The swimmers will move backwards, but still animate as if they're swimming forwards.
It should be noted that the behaviour that probably should happen, unless extra code was added to make them turn around (or they fell into the water, and got out by climbing rather than just stepping onto land) like with Climbers and Jumpers, would result in an infinite loop of "get in water, get out of water, get in water, get out of water" due to the difference in direction.
A more serious one - create a level that uses No Gravity gimmick, has Swimmers, and has some water that ends in midair without terrain at the side (the edge of the level counts as "terrain" for the purpose of this).
What should happen: Upon exiting the water, the lemming becomes a walker.
What I expected from a quick look at the code: The lemming will get "stuck" and swim on the spot after exiting the water, or possibly continue swimming oblivious to the fact that it's no longer in water (apart from not moving upwards to find the top of the water), but otherwise behaving as normal for a swimmer.
What does happen: The lemming continues swimming through midair, even passing through any terrain it encounters (I believe, but didn't test, that it won't ignore objects / blockers though). The only way to revert it to a normal lemming, usually, is for it to encounter water again before it goes outside the level and exit this somewhere that does have terrain at the edge. If the level has the surviving bombers gimmick too, bombing it will also return it to normal.
There's probably heaps more that, between the complexity and messiness of gimmick implementation, and their relative lack of use, have gone complelety unnoticed. I only noticed these when looking at the source code while stripping the gimmicks out. I would guess that in particular, gimmicks that predate the new skills when used in combination with new skills are most likely to have problems.