If a player is in the middle of the draw cards action (e.g. he has drawn two cards) and the deck runs out, does he, along with everyone else, discard all his cards, including the two he just drew?
No. All players only discard all their cards if a player needs to draw cards and the draw deck and discard pile are empty. So if the deck is empty but there is a discard pile, then simply shuffle those to form a new deck and everyone retains their cards.
I've played this around 25-30 times and never yet had the situation where both the draw deck and discard pile were empty. Why on earth would players be hoarding all those cards rather than using them?