Scenario 1) I keep my Batcave because my Surprise was successful at canceling the other player’s steal.
Scenario 2) The player that is attempting to steal the card was successful because, instantly taking possession of the Keeper, the power of the Batcave prevents me from using my Surprise on their turn.
A: Scenario 1 is the correct outcome.
So, although we often talk about things being “instantaneous” in Fluxx, some things are “more instantaneous” than others. So, for example, a Surprise, when played for it’s out-of-turn function directly after a given card-play is so much “more instantaneous” that it retroactively cancels that previous card play.
It’s because it’s actually surprising the person it’s being played against. If the surprised player then counter-Surprises, by playing their own Surprise to cancel the immediately-previous Surprise, the counter-Surprise is always considered to be “even more surprising” as it were.
(If you have any doubt of this, just listen to a game where this happens, and you’ll hear the group exclaim louder and louder each time as each subsequent Surprise is played to counter a previous Surprise.) Another way to think of this is that the last Surprise played is effectively the “most surprising” and is therefore the “winning” effect.
⟫⟫ The only exception to the rule of out-of-turn Surprises canceling the previous play is the playing of the actual Batcave itself.
See: Can I use That’s Mine to cancel the play of the Batcave?