There is obviously a million ways to do this but if you have your heart on doing it while attacks are processing...
Scenario #1
Code:
if(this->CastToMob()->HasPet() && this->CastToMob()->IsInvisible())
this->CastToMob()->GetPet()->Kill();
this->CastToMob()->SetPetID(0);
CastToMob() is optional.