How long has it been since he started all this? You've already been working on him for a couple months or more, right?
I keep seeing people saying they may be fine for a while but will go back to their bad behavior sooner then later. Sounds true with yours