I've been in a couple of games where cards that were already handed out and cashed in made a second appearance. It actually seems that the two times I have noticed it happen, the card was handed out immediately after it was cashed in.
I believe that once cards are handed out they should be placed in a "discard pile", and that "discard pile" should only get reshuffled once the entire deck has been exhausted.
The probability of getting sets is affected by knowing what cards are out. This is especially important in Flat Rate games since 3 Blue Cards in one hand means it's more likely opponents have a lower rated set.