Did you try IGNORE_MODELS in c_move?
Which version do you use and what does your move code looks like?
I just tried it in Lite-C, because I remember a similar problem, but now I couldn't make it happen again.
You could make a test( a short trace f.i.) whether there is a model in front of your player, and, if there is a model and it is at a certain distance, stop the player from moving on.