Hi,Sadie.
Go with your client's "guesstimated" amount of people,but prep at least 10% over what the expected head count is.Running out of food looks incredibly unprofessional.And bring the food out in phases;don't put all of your product out at one time.Events have the big "rush" period and then a "grazing" period.It will also insure that you are rotating fresh,attractive food and you can control the flow.
I work for one of the largest catering companies in the southeast and we do some really large numbers,like plate-ups/buffets for 2000 or more.We get the "gauranteed" head-count and charge per person,100% pre-payment,but we do the extra food in case extra people show up or maybe some server will drop a plate or whatnot.We're big fans of a "Comfort Zone"! Extra food is employee meal...and it's paid for.
Even when I was with a smaller catering company,we did 10% over with no problems.What it cost us to make versus what we would charge would cover the extra food,no problem.And if we got a deal from a vendor,we were not about to tell the client "Hey,I got this for less than we normally do!";we'd charge according to what we'd normally pay.
Our food costs right now are running at 14%,so we can easily absorb the minimal extra cost,because the client is also paying for the venue [my location is on-site at a convention center;we don't do off-site.Another location does off-site],the serving staff,tables,chairs,etc.....,so the food cost is only part of what the client is paying for.
We don't charge any extra unless a ridiculous amount of people shows up above the gauranteed head-count [a very rare situation],but clients also have budgets and trust me,THEY don't want to have to pay any extra than what they planned on.
Honestly,in the time I have been doing catering/banquets,I have never run out of food.Sure,maybe one item,but there was plenty of back-up to cover it.
Sad thing is,if food does run out,the guests aren't going "Oh,so-and-so who set this whole thing up didn't pay for enough food"..they look at the caterer and go "Those caterers didn't make enough food" and they remember your name!