Snort keeps a previous log of alerts generated by a host, but doesn't actually act based on them. Let's take an example:
host 1.1.1.1 was banned because of rule "I don't like this host because."
That was considered a false positive and added to the suppression list (or rule disabled is actually the proper procedure). Snort restarted, host removed from blocked tab.
A couple days later, the same host, host 1.1.1.1 gets banned because of rule "I don't like all same numbers in IP."
Now the blocked tab will say:
1.1.1.1 "I don't like this host because." and a date/time stamp.
"I don't like all same numbers in IP." and a date/time stamp.
The host appears to be blocked because of 2 reasons, but snort's most recent ban is based on the most recent alert generated ("I don't like all same numbers in IP."). The older data (I don't like this host because.") is just there to remind us that a host is really really bad.
If a host gets banned again after adding some rule to the suppression list/disabling the rule, then snort's interface was not restarted. Or something else triggered on that host. If neither of those happens, then it's not the expected behaviour.
Cisco? Is that a microwave oven maker? Can't remember…...oh, THAT cisco. Yeap, snort is pretty much doomed. After they add the remote update feature. Which is needed for the remote backdoor. For remote support of course.
Disclaimer: cisco mentioned in the paragraph above is entirely fictional. Any similarities to an actual company are purely coincidental. cough