I have not read all the posts. However, seeing that this is still active, I assume you are still looking for an answer. My suggestion is that you take him aside and have a father to son talk with him. Tell him that you are sorry that he found out about his mother's shortcoming. That is something a boy should never have to deal with. However, he needs to understand that his mother is a human being just like he is and you are and human beings don't always make the best decisions. What his mother did is not okay ... but you have chosen to forgive her. You love her and you believe that marriage means something which is bigger and stronger than throwing it away over a bad decision, no matter how big that decision is. She now needs you and you are man enough to follow the example given by Jesus and to put that behind you and love her and care for her today. The past is the past. You hope that your son will eventually grow into the kind of man who can forgive and not be a child who holds grudges because they make him unhappy. This affects him but isn't about him.
It sounds like your family is one that doesn't talk out loud about problems but I would suggest that you set aside a part of each week that he can come to you and discuss what he sees as problems with the same non-judging spirit that you are giving your wife. He is growing into a man and this will be your opportunity to show him your thought process so he can emulate it. It will also build a closer relationship with him as he has to negotiate watching his mother's crippling illness. Your son needs you every bit as much as your wife does. You need to know and understand what is going on in his head even if you don't agree with it or like it. If you build this kind of relationship with him, then you can demand that he behaves with respect to his mother, even if her has not forgiven her. Part of becoming an adult is learning how to forgive, but it is also learning how to behave appropriately even if we don't feel it.
A boy should trust that his mother is stable and trustworthy. His mother betrayed this trust and has never asked for forgiveness from him (or you). You need to fill the gap that a mother normally fills and be there to lovingly deal with his emotions and his hurt which is expressing itself as hatred. Give him time. And learn to tell him that you love him (saying it out loud) so he can learn that you are the solid foundation that your family is built on and that your silence acceptance isn't weakness but strength.
(And can I say, I respect you tremendously for forgiving and hanging tight to your promises as a husband)