Может, я что-то недопонял из вышестоящих постов, а чем плох вариант использовать ZS_Talk_End?
В диалоге, после которого должна быть телепортация, ставить какую-нить переменную в true, а в ZS_Talk_End установить ID персонажа + условие, что эта переменная true, и прописать телепортацию(вставку НПС, убийство НПС, смену рутины, как для ГГ так и для НПС, да хоть что).
В итоге: диалог закончен, и дальше все команды работают без сбоев.