I know it's late, but what do you think if I started to punish my son for using cigarettes nearly two years ago?
Why were you so lenient when he is underage?
It's totally unfair to punish a child for this.
While it's good to punish a child for smoking underage since using tobacco is harmful to their health, it isn't appropriate to punish a child for an action that he or she did years ago. When you punish a child, it should be when you first learn of the inappropriate behavior so that there can be a connection made between the behavior and the punishment received. Punishing two years after the fact will not teach your child anything other than that you hold long-term grudges and shouldn't be done.
What you said makes sense but it's not going to change my mind.
I am sure there are alternatives to reprimanding your son without causing him to hate you. Maybe you should reward him if he stops smoking. What I know works is providing incentives, and it's up to you to decide what it is.