A smoke break usually takes about ten minutes. Last weekend when I invited them to my house for supper, the excuse was that the car broke down. I had a good relationship with my son, and he used to call me and sound happy. Now he never calls me. I call him.
Smoking is enough to make any health-conscious mother annoyed and angry.
Perhaps the best thing you can do is try to build a neutral atmosphere between the two of you. Try to establish a relationship with her that involves the children. Invite her and the children to supper without your son. She seems to need you to recognize her as an individual and needs sympathy, not tough talk. It will be worth it if you can make it easier for your son to reestablish his loving relationship with you.