Why should you have to declare your political beliefs to the government anyway? The whole idea is kind of sketchy... it's not like you're on a "team" requiring loyalty. We're all Americans, and our only loyalty should be to our country, not to some party. If someone wants to vote in a democratic primary one year, and in a republican primary the next, that should be their right.
Open primary states have it right... you don't have to declare allegiance to any party ever, and you can vote in whatever primary you want, the only requirement being that you cannot vote in more than one party's primary in the same election.