I think you are missing some layers of his character.
Kelsier wasn´t bad, as Brandon said, he was a sociopath, and he channeled it to make the better of it. Kelsier is a grey character, that´s what makes him interesting.
On the other hand, Vin could see that, even though he was the person who changed her life for the better. It´s not that she hated him. On the contrary, she just saw throw him.