Прошу извинить, не доглядел один важный момент, подводный камень - removeFunc не удаляет одну взятую StatFunction,
а пересоздает весь массив, не включая в него statFunction, если верить оригинальным исходникам l2j, а в нашем случае statFunction для одного и того же скила, примененного дважды...