This is a little hard to describe in words, so I'll apologize in advance.
If you click a card while the animation for a card draw is playing, the newly drawn card is placed in the spot that used to be the first empty slot. So a card in slot 1 and 2, draw a card, quickly play card 2 and you should have a card in slot 1 and 3 now. This isn't a problem. If you draw again the new card will actually go into slot 2 and you'll have no empty slots. However, if you play card 1 while drawing another card, the new card fills in slot 2 AND the card that was in slot 3 goes into slot 2 as well. The new drawn card covers the old card and over writes it so the card that was under is now gone.
I think what is happening is you set the target index for the new card when the animation starts, then don't check that the stored index is still empty when the animation is finished. It should be an easy fix to iterate through the indexes until an empty slot is found. You shouldn't have to handle a fail-if case where there are no empty slots because you already have guarded against a draw with a full hand.
Generally this is probably a low priority bug (how often do you get obsessive clickers firing through their cards as fast as they can) but it is a destructive bug, so I thought it should be reported.
Let me know if you have questions about how to reproduce the bug.
-Kirjath