I think your response depends on how much you want to keep the friendship with Anne. If you really want to see Anne and can mostly put up with Bob being there, I think your best bet is to avoid mentioning Cathy. Don't talk about anything related to her and/or claim your stories happened with a different person that Anne doesn't know, "Debbie." Yes, an outright lie is rather extreme, I think, but if this would solve your immediate problem, you should at least consider whether it's worth it. Otherwise, I think you'll just have to keep doing what you've been doing--disagreeing with Bob, then changing the subject.
If neither of those is palatable to you, I would next suggest contacting Anne and putting the problem to her, perhaps to her personal email. "Anne, I would love to get together with you and catch up, but I'm afraid I really don't see eye to eye with Bob on many subjects, for example his views on Cathy. I would really like to have lunch with just you on Thursday, without Bob. Please let me know if you can make it." If she agrees and indeed shows up alone, great, you can talk about Cathy and all the rest with her.
If she refuses, or if it seems like Bob won't let her/intercepts the email, or if he shows up anyway, perhaps it would be easiest to decide that the friendship is no longer worth the trouble, and just stop seeing either of them. A "cut direct" is, I believe, a very extreme thing involving pretending that the person no longer exists, to the point of walking by them on the street without acknowledging them; that may be more than you feel is necessary here. If you just stopped initiating contact, and were regretfully busy when they suggested getting together (in a small group, at least), the friendship as you describe it would probably fall away quickly. Then you wouldn't have to hear Bob talk about anything at all, including Cathy.
To me, this just sounds like the combination of personality and situation where there's not going to be any magic phrase that will shut him down. As a counter-example, I've had the experience of someone starting to badmouth a third party to me, and I say coolly, "Oh? He didn't mention anything about that to me when I had lunch with him last week," and generally they shut up, realizing I'm still friends with the person. But if this sort of technique worked on Bob, you probably wouldn't be posting here. I get the feeling he doesn't really care if you're offended, so likely nothing you can say to him will have an impact.