My husband is a chef and we do catering. The usual reason the food is taken back or disposed of on site is one of liability. A caterer has no control over how food temperature is maintained, stored etc. once he/she has left the hall or party. If someone should get sick after leaving the food out too long or in their car, then there is a chance of them being blamed for any "sickness" that develops.
A professional caterer should have a form that would be signed if any food is to be left behind after breaking down a party if that is what you would like. Sadly, nowadays everything has to be in writing.