Hi Kkarn...
It's obvious that you have only looking out for what is best for your friend, and you want to prevent him from making a really bad mistake. However, I am not sure that this is the way to accomplish what your goals.
Reading what you have written so far, you seem to be challenging him on every level. The guy is highly emotionally charged and no doubt having all the same thoughts as you are having, but has decided to live with it because she is somehow fulfilling some sort of role that he wants.
He has made his choice, and if he has not, you challenging him and calling him an idiot is not going to help your case. In fact, you are probably doing everything that this woman wants you to do, and are driving him even closer to her. Your constant attacts on her will only drive the wedge deeper between you and your friend, and strenghten his resolve against you.
Continuing this route will result with isolating your friend when he needs you most. When he finally wakes up and sees what's happening, he has no one there for him.
If you want to help, tell him that you think it's a mistake, but it's his life and if that's what he wants to do then that's his decision.
Hopefully, he will see what's really happening. If not, you keep your mouth shut, and go on living your life.
Good luck