I can't help but see this ban partially as a reaction not just to some kind of PC propaganda but to the honestly real problem that smokers are often "the hidden hygiene problem". It's more acceptable in America to stereotype anyone who isn't rail thin as being a "fat unwashed slob" even when they're not, than it is to tell a smoker they make everyone around them gag to death.
However, it's a slippery slope I think and not a good idea - indeed, next you'll see "the fat ban" which will be another slippery slope to where people who don't match some arbitrary ideal of perfection are discriminated against, and then another ban, and another.
I agree upthread with folks who say it should be treated as a hygiene issue at work. If a person who is heavy set comes to work smelling bad, don't cite them for being fat, tell them to take a shower and wear clean clothes. If a smoker comes into work smelling like shit, or is a serious addict who takes 10 smoke breaks a day and ends up stinking the office up with the backwash when they come in, don't cite them for being a smoker - tell them to find a way to keep it clean.
Sadly, I only know one smoker personally who takes hygiene seriously. He actually does keep his clothes from smelling like crap, he doesn't take smoke breaks where it'll affect people when he returns, and he makes sure to keep his damn teeth brushed and mouth washed. He's fine; nobody has any reason to complain about him.
But the other 4 or so people from work that he hands out with when smoking, fit the worst possible stereotype and are indeed, legitimate slobs.