Mally, my heart goes out to you. It is unfortunate that you have tried so hard to protect and help your son, yet he is still so, so vulnerable. All you can do us always be there...in the background if need be. Do not judge him, and do not blame yourselves. His addiction is, sadly, much stronger than the help you offer. Rehab will only work when he is ready...and there are enough agencies to offer that support when he gets to that point.
I work in a drop-in where the average age of our clients is getting progressively younger each year. Many have very bad "habits". I see them,and always hope their families have not given up.