I think it's a bug, as the bad ending with Rosa is always triggered. It's supposed to be there only in case you screwed things up with Selina at the hospital, but there's a 'friendly' ending coded for those who are still with Selina in which you're not fired.
It's possible to get the "good" ending. They basically thank you for a great time, but Rosa kind of warns you that it won't happen again and you'd better not cheat on her daughter.
...which comes across as incredibly hypocritical, because she's literally the one chasing
you while you're with her daughter in the first place. It's like, yeah, if you actually cared about her
at all you probably wouldn't be fucking her guy in the first place. It'd be nice to have the opportunity to call both of them out on their bullshit.
But basically, you have to do the Anna and Selina routes to unlock Rosa and Catherine, then you drop Anna when Catherine orders you to break up with her, but you have to agree to get serious when Selina has "the talk" with you. As long as you avoided getting serious with Jane, Selina won't break up with you at the hospital, you'll still technically be together with her in the end (even if you were also dating Lisa), and you get the good ending.
What kind of makes it weird is how the flags work. It only checks if you activated Catherine and Rosa's path (to get the scene), and whether or not you agreed to date Selina (which determines if you get the "good" or "bad" outcome). It doesn't actually check if Selina broke up with you in the hospital or if you broke up with her on the last day to stay with Lisa (at least not based on how the walkthrough claims the flags work). You could always headcanon it that, at that point, Rosa still doesn't know you've broken up with Selina, so she treats you as if you're still with her. But if you didn't agree to a serious relationship with Selina, you're not close enough with her, and Rosa is more inclined to see you as a cheating dick and try to cut you out of her daughter's life, whereas if you're more serious she's willing to overlook your own affair as being an exception.
It
would be nice to have an alternative outcome where you essentially stop seeing Selina (triggering the "Broke Up" flag), which leads Rosa to acknowledge you're not with Selina anymore, and thus potentially leading to a positive continuation of the Rosa/Cath relationship. Or a more dismissive end where she doesn't want to keep seeing you because it will seem like she stole you away from her own daughter, ruining their relationship - but leaving you open to still keep your job and potentially continue on with Cath alone. But presumably that's never going to be a thing, because it was never really meant to be the focus.