Sweet Rozied,
20 years is too long to have battled this. You must be feeling so tired. You know I relate to this too.
Stand tall and be strong. Say No. Be Assertive and leave him be. Turn around and live your life and love your new husband.
He is 40 years old and when and if he is ready to change his life, you will be there and he will be a different man.
Only then can you take him back in your arms.
I have been here and this is the only real advise I can give you.
He will return one day as the child you once knew (you know what I mean, even if he is 40 you will see the boy you once knew)
Jo