One of my players is an assassin rogue who likes to hide as a bonus action in mid-battle and comes back for a sneak attack. He says this gives him surprise, thus an auto-crit. I've let him get away with it so far, but it sounds very wrong to me.
So, hiding mid-battle; surprise or not surprise? That is the question.
He's wrong. The answer you seek is in the rules for surprise in the PHB. Pick it up and have a read.
A creature can only ever be surprised on round one of a given combat, and only if it was
unaware of ALL hostile creatures at the moment the DM called for initiative to be rolled.
Example:
1) Your Players PC (probably an assassin rogue from the sounds of it) approaches an enemy creature. Assume he in in a forest providing ample cover for stealth (and his stealth roll beats the creatures passive perception). He stealthily closes to 60' and declares he shoots the creature with his crossbow.
2)
YOU ROLL INITIATIVE AT THIS POINT. You do
not resolve the attack outside of initiative order. You
never resolve an attack outside of initiative order. This is one of the most common mistakes made by DMs. A hostile act declared triggers the transition from narrative time to the combat sequence. To resolve that hostile act, you first roll initiative.
3) As the enemy creature was unaware of ANY hostile threat when combat began (you called for initiative in response to a hostile act being declared), when combat begins he is surprised on round one.
4) Being surprised he cant take any actions or move on his first turn, and cant take reactions until after his turn ends (at which point he ceases being surprised). He has to sit there like an idiot while the assassin resolves the crossbow attack he declared a few seconds ago.
5) To successfully use his assassinate ability, the assassin needs to get his shot in
before the enemy creatures first turn ends (and he ceases being surprised) on round one. In other words, our assassin needs to have a higher initiative result than the enemy creature.
6) Assuming the assassin was unnoticed when combat began, and he rolled higher on his initiative check than his enemy, he gets his chance to assassinate him (automatic critical hit if he hits, and the attack is made with advantage because the assassin was hidden).
7) If our assassin rolled lower than the enemy creature on his initiative check, then he doesn't get assassinate on round one (no critical hits, but he still makes his attack with advantage due to being hidden).
8) From round two onwards, there is no more surprise allowed. Either party can hide from each other (and attack from hiding gaining advantage on one attack), but as they are aware of enemy threats, and of each other they cant be surprised again.