I think the telling thing is that the OP says "I can't believe even she would do it on purpose."
Which indicates that the sister has form for doing some pretty insensitive or crass things but has never deliberately stooped to this level before.
From my experience, if you know someone who does thoughtless or spiteful things, it is hard to understand or believe that they could be doing them on purpose because you wouldn't do them yourself. So when they do go one step further it is hard to believe that they have done it on purpose. It doesn't mean that something shouldn't be said though.
In this situation, with the OP and especially her DH being so recently bereaved, I don't think the OP has over-reacted even if the sister wasn't being deliberately nasty and had just made a misguided attempt at black humour or an innocent but thoughtless mistake.
I'm thinking of my MIL, who has said some dreadful things to me in the early days of losing my children and who is a spiteful and manipulative woman, but who is passed off in her immediate family as someone who just doesn't think before she speaks, who can't help herself and who has to be made allowences for because she is too old to change (she's 57 now and has been doing things like this long before the last ten years I've known her for, since DH was just a baby).
Now some of the family have used that defence of her to me but not one of them, not even MIL, has managed to explain how you can ask someone who gave birth to a stillborn child three days earlier "does it still hurt to give birth if the baby has died" by accident or without thinking. Or how you can accidentally throw a tantrum the day before that baby's funeral because the baby's father didn't sound happy when you spoke to him on the phone and you feel that he was being "funny" with you. Or quite what you mean when you ask if a baby who you can see clearly in a photo "was born with all of her face or not?"
You can't say those things in a good way, or mean well by them but they came out wrong. There's nothing else that could be meant by them and a normal person would not say them by mistake.
And that's what I'm trying to work out about this card. The OP has already ruled out the chance of it being posted before her FIL passed away and doubts that her sister had it bought, written and sealed so long ago that she had forgotten what it had on the front.
And in that case, recently bought, not posted too early, most people would have remembered in time and not sent the card at all.
All I can say in your sisters defence OP is that she may have been focused on the corkscrew aspect, perhaps focusing on your DH liking a drink (if he does) and so the other part just didn't stick in her mind and she was thinking "I bought him a card about a missing corkscrew" rather than "and it has a body on the front."
I do think though, that calmly telling her he received the card and was upset by it is the best way to go. It gives her the chance to apologise if it was a genuinely thoughtless act. If she doesn't care, dismisses his upset as an over-reaction or refuses to apologise then at least you'll know that your instincts were right and you can decide from that what you want to do in the future with regards to her.