The whole sentence is awkward, but the expected meaning would be that in the past they started immunizing everyone, and in the years since then there have been no cases of smallpox. After the discovery would suggest a period of time from a point in the past up to the present, so have been is appropriate. Are would only describe a lack of cases now, not a lack of cases for the past few years, which wouldn't match the meaning of the whole.
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.