In mob.cpp Mob::CalculateDistance it reads:
	Code:
	    return (float)sqrt( ((x_pos-x)*(x_pos-x)) + ((y_pos-x)*(y_pos-x)) + ((z_pos-z)*(z_pos-z)) );
 and should be... (notice the y calc)
	Code:
	    return (float)sqrt( ((x_pos-x)*(x_pos-x)) + ((y_pos-y)*(y_pos-y)) + ((z_pos-z)*(z_pos-z)) );
 Among other things it might explain the vanishing mobs.