Исправил п. 2, немного изменил код и обновил патч и ссылку в первом посте.
Спасибо LordJZ за помощь с п. 2.
Странно, что
Код:
m_target->SetChannelObjectGuid(ObjectGuid());
m_target->SetUInt32Value(UNIT_CHANNEL_SPELL,0);
не выполняется при удалении ауры.
Еще один интересный момент: при удалении ауры 46675 по таймеру в строке ((Creature*)m_target)->ForcedDespawn(100); происходит смерть нпц, а не деспавн.