I don't think there should be a law to force people to say it nor to protect people from not having to say it. I think it should be a personal decision and no one should be judged for what they do.
I know JWs have been ridiculed and persecuted for not pleding allegiance to the flag, but despite the misguided reasons for why they did it, they have every right to not join in if they don't want to. But instead of a group forcing members to not say it, it should be each individual's decision.
Having left behind a lot of the nonsense that was JW thinking and acting, the one thing that I still do not do is pledge allegiance to the flag. I stand respectfully for it as I do the national anthem. But I do not place my hand over my heart nor recite the words.
I lived a life pleding allegiance to an organization that lied to me. I will never pledge allegiance to anything but myself and my immediate family ever again. I'm not going to blindly follow anyone or anything. I respect the governement (to a point), I obey the laws (most of em) and I do love living in a somewhat free society. But I will not blindly give allegiance or worship to any one thing or person that can be corrupt or sometimes just plain wrong.