In the case of
The Destroyer, the ability is:
"Negate the protect ability on an evil Fortress. You may discard a silver Enhancement from hand to discard an Evil Character in a territory. Then, remove this Hero from the game after battle."
This scenario is very similar to
cards like an Archer that are removed from play before end of battle, in that it is not an instead, it is something that targets after the battle. If The Destroyer is not in play after the battle (since that is the scope of default targeting), he is not removed by the ability. In this case, he is shuffled by Grapes.
Nabal is the same scenario.
The Archer scenario is a explained in the link I provided without horses, but WITH horses what happens is that the interrupt the battle also interrupts
all ongoing abilities (Archer's self-discard is ongoing), but not the discard of a hero (which is instant). Since the play ability on horses happens while the abilities are suspended, if you end the battle by using the play, the suspended abilities have no chance to activate (they cannot reactivate once the battle is over). Archer would not be discarded in that scenario.