I don't think the American flag is being considered racist, nor do I think we should be examining the intent of anyone wearing an American flag on Cinco de Mayo. You're making this into more than what it is - a group of high school boys thinking they're being funny by wearing American colors on Cinco de Mayo. I doubt we have the whole story here, but I seriously believe there's more to it. They knew what they were doing. If anyone believes these students weren't doing anything other than being jack___es, you're fooling yourself, but not me.
That being said, I don't know how I would've handled this situation. The school official may have acted the way he did due to the offending students' prior behavior. Perhaps they were behavior problems, who knows? Typically those with prior histories are the ones who get screwed, even if they didn't do anything wrong.