I read through pretty much the whole thread and I disagree pretty much entirely with the title itself. The real problem is just that however the dialogue is coded, the portrayals of Halsin and Shadowheart BOTH suffer tremendously for Halsin's forced involvement in a Shadowheart romance if he has explicitly been rejected. That should be changed. The rest I look back to papercut's post on page 7, Shadowheart's writing is otherwise totally fine (though I do miss the barbs from Early Access). It adjusts slightly pending the choices of the individual (as does the contextual reading of certain interactions), and there's nothing wrong or unrealistic about that.
I don't see a reason anything needs to change (on Shadowheart's end) except the rejected Halsin interactions. It all checks out to me otherwise.
Pretty much everyone agrees that at the very least the interactions after declining Halsin needs to go. The rest are thankfully avoidable. However, saying the rest checks out is just insulting to the overall writing of the game. Indulge me as to how the following makes sense to you.
Shadowheart: Hits on Karlach throughout act 1, regardless of Tav's romance, but isn't interested in a poly relationship with Karlach and Tav and will therefore break up with Tav even if asked for, while during act 1 it is heavily hinted at that Karlach would be fine with it. Not interested in a poly relationship with any other origin companion either. Also Shadowheart: Has a neutral relationship with Halsin in act 1 and act 2, turned antagonistic during the Gauntlet of Shar, and will never comment about any kind of interest in Halsin if Tav does not romance her. Yet is not just willing but actively encourages a poly relationship with Halsin. Somehow instantly knows Tav is talking about Halsin the second exclusivity of the relationship is mentioned and even trying to back out makes her encourage it instead.
Shadowheart: Claims that relationships, casual sex and the like are discouraged under Shar because they distract from worship, and claims they had to do it in secret or find an excuse just to have an intimate moment together in the cloister. Therefore, she (Sharran version) needs to find excuses to have intimate moments with Tav, and calls them exceptions, despite still loving Tav. Ultimately calls it off because she knows it's not sustainable. Also Shadowheart: Says casual sex was encouraged under Shar after Tav cheats with Mizora, as an excuse for her being okay with it.
Shadowheart: Claims multiple times that she wants to spend the rest of her life with Tav. Wants children with Tav. Fully devotes herself to Tav. Also Shadowheart: When cheated on, apparently never expected that love to be reciprocated, claiming that she expected it to happen because Tav is 'not a swan'.