A whelk is a type of seafood, a bit like a snail.
http://en.wikipedia.org/wiki/Whelk
It's quite easy to get ill after eating seafood like this, especially if it isn't very fresh.
The word 'funny' can have two meanings, either 'amusing' or 'strange'. In this case it means 'strange', in the sense that the whelk probably didn't taste right and it made Marge ill.
The word 'bloody' can have two uses. Sometimes it literally means covered in blood, but sometimes (especially in British English) we simply use it to show that we are angry, surprised or frustrated. It's a mild swear word. 'Not one bloody letter' means that that someone hasn't received a single letter. The word 'bloody' just indicates that the speaker is angry.
By the way, 'Porter' is an English surname, but this series of books is called Harry Potter, not 'Porter'. A porter is someone who carries things for you, a potter is someone who makes pots.