He knew that the reason for the ROA was bullshit. But he went along with it an basically whispered, "no...stop. Oh you didn't stop now the mage is dead. Oh well."
He was a Templar, under the orders of a superior officer. It was his job to follow orders, he couldn't just undermine them and do what he wanted.
But he was also second in command which meant, when he felt that the orders given by his superior officer was not sound and reasonable and within the terms of what his order was for, then he could step in and object. Which he does, when he is finally convinced of such. Until then he was under obligation to follow orders. (Why so many people have difficulty understanding this, I don't know). Do you make a habit of calling out your boss, every decision they make?
yes he could have seen what she was up to earlier but with what Cullen has gone through and all he has seen, plus Kirkwall was rampant with corrupt mages, can you wonder at him not noticing sooner?
And in no way did I ever see his attraction to a female mage creepy, he was a young inexperienced fresh recruit who happened to find a mage attractive. Something he was aware should never happen. He doesn't even talk to you unless you talk to him first.
Cullen is a good man, he believes in what he does, he is not a extremist templar, he actually believes in protecting mages as much as everyone else from mages. Even when he was tortured and forced to see the worst mages can be, he still could be reasoned with and convinced, it just took a little longer.