What might cause projectile vomiting in a four year old?

Infection usually. Ah, what fun. A small child with vomiting all over the house... Most of the time it's infection, either influenza or a stomach virus of some kind (gastroenteritis). Hydrate and rest, and things will correct in a few days. If there is a lime-green color, excessive lethargy, blood in the stool, or excessive abdominal pain, get the child checked immediately.