How about having an agreement with your son that when his Dad has said he'll take him to karate, if he isn't there to pick him up by a given time (the last minute you have to leave for example), you'll take him. Then let S13 call him later (if he chooses). At 13 (even with Aspbergers) he's going to have to figue out a way to talk to his Dad. The "everything is fine" thing sounds like alot of teenagers. I know my D16 wouldn't say sh!t if she had a mouthful (esp about sitch here at home). The relationship they have is theirs to figure out and your H is responsible for that R. You can't fix it and you really (IMO)shouldn't try. It just creates alot of resentment. I know how hard it is to watch the kids hurt. That's why I like the backup plan route. I know you'll find a way that works best for you. Hang in there.
Give yourself credit for the improvements you have made. It's all hard esp with kids.