Güzel anlatım, elinize sağlık.
Ancak guard restart işlemi ara ara gerçekleşebilecek bir şey. Bu sebeple _UpdateCharAchievement prosedürünü doğrudan düzenlemenizi önermem, her restartta uğraştırır.
Bu durumda triggerdan da daha basit bir yöntem var.
Aslında yaptığınız yönteme çok benziyor, sadece ters yoldan.
1- Kendi prosedürünüzü oluşturun. Mesela _UpdateCharAchievement_Hades.
2- Bu kendi oluşturduğunuz prosedürün içinde orjinal _UpdateCharAchievement prosedürünü çağırın.
3- UniqueKilled_EDIT gibi achievement algılayıp arttıracağınız yerlerde orjinal proc yerine direk _UpdateCharAchievement_Hades prosedürünü çağırın. Böylece orjinal kod çalışır ve sizin yazdığınız ek kodlar da silinmez.