Q: Isn't food poisoning usually caused by the last thing you ate?

Not necessarily. Many of the 76 million annual episodes start 2 to 6 hours after eating spoiled food, but it can take days--or even weeks--for symptoms to strike. Common culprits such as Salmonella (often in eggs or undercooked meat) may not show up for 3 days; rarer waterborne Giardia (linked to 20,000 cases a year) can take weeks to wreak havoc.