there is a bit of code in questactions.cpp that says something like
if(mon = 253)
mon=257;
It won't be exactly that of course (I'm going by memory) but it should be easy enough to find
It should be located in function QUESTREWD(008)
If you can find it, comment it out and it won't switch your zombie to a ghost any more.