I always leave sentinel running. I change characters all the time with no problems in the past.
Sometimes when they patch the game client there are subtle little changes to how long data persists in memory when switching characters - like the character name or the badges that were in the info window. If the data persists long enough, Sentinel can sometimes get confused and think it's grabbing a list of badges for the character coming in when it's actually still looking at the list of badges for the character that just left.
I always leave Sentinel running when I'm playing and I've seen times where it'll get confused by the server data and accidentally create new character records for a character I'm logging in on a new server thinking that I'm still on the previous server. And I've seen the issue you're noticing with extra badges bleeding through from one character to the next once in a while. Those sorts of things are sometimes fixed by another subtle change in a future patch only to pop up again down the road.
I know, "that's not unusual" isn't a great answer. I believe Guy's made some improvements in the engine for Sentinel 1.0 to make these thing a more rare occurrence, but (as I find myself saying rather often) we're still working on sorting out things in the back end of CIT so that we can roll out 1.0.
Do I just need to delete all of my badges and /infoself again?
That's the simplest workaround, honestly. Alternately, we might be able to go in and remove any database entries for a specific character on a specific date if you knew exactly when the badge count got messed up (as you do in this case), but the /infoself capability in Sentinel makes it easier (and way faster) to just clear the badges and re-verify.