We do it old school here for DD1 and with random prizes throughout (not every layer) for DD2 since she's only little and most of her guests are too.
I explain at the start that not everyone will get a prize, but there will be other games and I'm sure that everyone will win a prize during one of the games and if not, they can come and see me before they go home and we'll work something out. We always have between 15-20 kids at each party and we've only ever had 1 kid have a sook about not winning, and she was complaining about not winning the main prize (and is a tyrant who gets her own way all of the time).
When DD1 was younger I used to put a bunch of prizes in the last layer, stuff like whistles or little party hats or something so each kid got one at the end.
ETA the reason we do old school (as in not everyone even gets a layer and the only prize is in the middle) is because once you have 20 kids doing it, it's bloody boring waiting for each child to unwrap their layer and the kids all know they're getting it, so they're bored too.
Edited by CaptainOblivious, 01 October 2011 - 07:35 PM.