I thought about it when we took DS since he was barely 3 and small for his age. But my DH reasoned that DS would get more value out of the trip than anyone so we had to pay - and he was right. However for some of the buffets we did say he was under 3 because he barely ate at all. I know that's wrong too and I wouldnt do that again.
On a related note, one time we went to a local buffet (Golden Corral). I told the cashier that DS was 3 so he could eat free. He said "no, I am 4, I am NOT 3" but the cashier didnt charge me. I felt so guilty that after the meal I went up to the manager and confessed. She said it was okay and not to worry about it but I insisted on paying and made sure to talk to DS about how Mommy had made a mistake and should not have lied.