I'm going to go against the grain of this entire thread.
One piece of advice that is often given is that you cannot change the other person; you can only change your reaction to them.
Here's how I'm seeing the situation. Your MIL knows of your allergy and in all but one aspect of your life, she respects it. As far as I can remember, you haven't posted that she has tried to serve it to you during dinner, or insisted that you eat the chocolate right there and right now. In this one case, gifts, she has a habit of getting you chocolate along with something else (a banknote?) So it's never your sole gift, correct? When you don't want it, she expects you to give it to your DH.
So assuming that she always gives you the chocoloate along with something else, my advice is to just drop the rope. Accept that she is going to give you that piece of chocolate. Ask DH to remind her again. If she still gives you chocolate, just give it to DH. Yes, she is being rude giving you the chocolate when she knows you can't have it. And yet she gives it to you. You just are not going to be able to change her at this point in her life. Just smile, thank her, remind her politely that you can't eat it, and hand it over to DH. Later, after you leave her home, you can scream and holler and vent your anger.
This is incredibly hard - I know that you'd love her to stop giving you the chocolate and it is frustrating the heck out of you and DH, but I think at this point you'll have to accept it and, unfortunately, deal with it. Hopefully if you can find a way to accept it, you won't get as frustrated. If you eventually get to the point where you can laugh at it, you and DH could actually make a game out of it, maybe predicting ahead of time how large of a chunk-o-death she is going to give you, and the winner gets taken out for a great dinner or something like that.