Thanks for the reply! I don't think that would work though, unless I've misunderstood it. The problem's that "Push out solid" simply triggers for every solid the object is touching, not just the solid being referenced in the event.
Basically, flying monsters can move over furniture (sprite, solid) fine, as I don't have any collision events set up for them & the furniture. But when a piece of furniture is close to a wall (tilemap, solid) and the flying monster collides with the wall while also over a piece of furniture, it suddenly pushes them out of both, which looks a bit jerky and rubbish.
One possibility is just to remove all solids from the game and do all of the push out stuff manually with custom movement... but that'd take quite a lot of work with the project in its current state, and if I'd like to see if there's an alternative using the native push out first. I might just be misunderstanding your example though, if I have could you explain a bit more please?