The code that makes them impervious is intentional, from the svn log:
r108 | magodra | 2007-10-25 09:19:14 +1300 (Thu, 25 Oct 2007) | 6 lines
- Added setting of impervious when disabling stuck NPCs so that they would not be easy
targets for players.Another developer is currently reworking some of the movement and collision detection code (linmove.cpp), hopefully that will resolve a lot of the issues with NPCs getting stuck.
On the other hand, most likely a lot of the cool wall climbing hacks wont work anymore

So check out all the sights while you still can
