Use either of these. The first should disable everything, and the latter will disable it for a single enemy (the gent).
SetSanityDrainDisabled(bool abX);
SetEnemySanityDecreaseActive(string &in asName, bool abX);
For the former problem (disappearing suddenly). If the player is too far away, or an enemy has hit its last pathnode and the player is not looking, they automatically disappear. You can change these settings in the Model Editor in the User Defined Variables for the gent model. I'm pretty certain they're right down the bottom; increase the max distance and there's a checkbox option for disappearing at the pathnode end if I recall.
Make sure also to disable the triggers for the gent. Otherwise, if it sees the player, it will go into Hunt mode, but will just be idle.