With that said I too felt Bull's betray was a tad OOC. If for anything he was right along side of me killing Qun warriors left and right before the supposed order was given. If he was so loyal to the Qun why did he stay by the Inky's side until the final moment like that? True it makes for really great SHOCK value in story telling and they did achieve that. I personally was more upset and shocked at Bull's betrayal than I was the whole ending with Solas, because I knew something of that fact was coming.
Bull not betraying the Inquisitor would be OOC, honestly. He turned himself in to be re-educated, and any fighting he does at your side upon returning is probably seen as "necessary loss" in service to the Qun. The bigger goal is to get to the agent of Fen'Harel and to take out the Inquisitor. If some warriors die along the way, that was their duty to fulfill.
Once you remind Bull that it's all right to give up on friendship and love by sacrificing the Chargers, he has no reason to be loyal to you. The Qun comes first. It always had, until he started to doubt and feel differently. Allying with the Qunari only reaffirmed his loyalty to the Qun. Good job, and all that.
I know it can be tough to not be the One Special Thing in an NPCs life, but I really like that BioWare reminds us that the characters have a life and agendas outside of our presence. It doesn't always lead to happy times, but it does lead to a damn good and sensible story.