Game design is filled with stuff like that. My last six years of game design has been that sort of thing over and over. I have a slang term for it "Brick wall" because I tend to force my mind against the problem to solve it, and do about as much as vs a brick wall.
Keep trying to solve it, and it could be the polygon flag, or it could be the gravity code, or it could be gravity and the mesh combining with low push, or it could be using ent_move with ignore_push, models, maps, you, ect. Something that applys.
But dont stop work if you cant solve it, work on anther part of the project, and come back to that. You might be able to solve it later, when you have let your mind work on it a bit.
thegamedesigner.