Can someone explain to me why D is the answer? Thanks!

My reaction would be to choose B as the answer. First, the carbonyl would pick up the H+. The pi bond would then form a lone pair on the oxygen resulting in an alcohol while the grignard (acting as a nucleophile) would attack the carbonyl carbon. Since the problem only says 1 equivalence is reacting, this would be the final product. But you're book is saying that it's D. If the answer is D this is because the grignard is acting as a strong base instead of a nucleophile. If its acting as a base, as what the answer implies, then it is picking up the aldehyde hydrogen forming CH4. The H+ will then protonate the carbonly carbon leaving you with what you started with.
I think the answer is right but I would have definitely made the mistake of choosing B if it appeared on a test. There's even a DAT Destroyer question similar to this asking which reagent would most easily form the Gringard. The answer solution says that Gringards react with acidic protons and it messes everything up, to the point that you have to flame-dry test tubes so it doesn't react with extra water instead of your intended electrophile. The way I see it, the acidic proton on the alcohol would look a lot more appetizing to me, as a highly reactive base, than the partially positive carbon in the carbonyl. Hopefully that helps some!