I like the character in the books over the actress, though the actress is great as well. Cho is just a normal girl (well normal for a witch), someone Harry could have used in his life. Ginny was just tailor made to be the perfect person for Harry... too perfect it's unbelievable. Cho didn't really get a chance to be with Harry because of the whole Cedric ordeal, plus in Book Five Harry was a dick to everyone, including her. SO I think had he started going out with her before or after book 5 Cho would have worked out. As far as actors are concerned, Katie had WAY more chemistry with Daniel than Bonnie ever did. When Katie was kissing Daniel, you felt like they both wanted it. When Bonnie kisses Daniel you feel uncomfortable because you know the actors are.
As far as Luna is concerned she's a great side character, but not a good main character. Too much of her would get annoying, so it's great that she's never outstays her welcome. I think the actress is fine for the role, and completely marries with the book Luna, though Luna in the book is believe it or not more insane.