My opinion won't be popular, I can tell.
Personally, I think it should stop after about first grade. My reasons are mostly about the disparity between the children - some parents go all out for their little princesses and others just send their kids to school like normal. What used to be a family occasion starts to turn into a full blown birthday party at school for each child. I just think it's another "limo for 5th grade graduation" opportunity where people can one-up each other.
My reasons also have a little bit to do with obesity, I guess. I just think that there is a point when children need to realize that there are more ways to feel special than FOOD. A few special priviledges for the day and classmates singing Happy Birthday should be plenty IMO. The years I have sent food in to school for my kids it gets ridiculous. Treats for the class, a cake for the family party, a cake for the friend party (but now it seems we're expected to provide lunch as well for that - even if the party is at 3 pm!).....it just goes on and on.
Back when I taught school it was not common practice to do this beyond Kindergarten. I taught first grade, never said anything about it, and had a request to bring in Birthday treats about once a year. I had a badge the birthday child wore, they had a present on their desk when they arrived, we sang Happy Birthday, they got to be line leader. That was about it. We had a bulletin board with everyone's birthday on it. At one point during the year we had a big Birthday party with treats, talked about when everyone's birthday was and everyone celebrated at once.
That was plenty of birthday for me as the teacher and it was apparently for everyone else too since I never heard any comments and so rarely had a parent bring individual birthday treats.