(1) All can be correct, and all can be a valid response with practically the same meaning, to a question like: "What caused the cliff face to change so much?"
(2) All can be gramatically correct, and A, B & C could all answer this question, to convey a similar meaning: "What made my apples disappear so fast?" But 2D would not answer the same question appropriately. "For Tom to..." would answer a different kind of question, for example: "Why did you collect more apples than we could count?" or "Why did you leave the kitchen door unlocked?"