I agree with Petal's response. Your child is looking for a reaction, and a strong one at that, so ignoring her is the best medicine. You are doing a good job of setting up boundaries with her, ie, putting her in time out, and as Petal said, letting her know what is acceptable and what isn't is pretty important. I would do this if it were my child:
Child: "I hate you, mommy"
Me: "I'm sorry you feel that way. I love you very much, and it's not nice for you to say that to me."
Then, put the child in time out. One, you are NOT giving him/her a strong reaction, and two you are ignoring. Hang in there. Your child is only trying to push your buttons and when you establish who's in charge with being consistent (calmly saying the same thing each time) and using a consequence(time out), this behavior will extinguish itself.
I am reviewing a book, Boundaries with Kids, that is full of fantastic advice. I share a lot of it in my blog. I'll include the address below if you're interested.