I think casting for a movie which is based on a book is a next-to-impossible mission and has to be executed with utmost attention to detail. Book lovers know the descriptions of the characters and I am sure many are truly upset if the casting director makes the wrong choice regarding a beloved character. Take Fleur Delacour, for instance. No offence to Clemence Poesy, but despite her being a pretty woman, you simply weren't blown away by Fleur as the book suggested.
Lily and James Potter were cast with far too old people, considering his parents were 21 years old when they died (they look like 40) and although I really liked Emma Thompson's performance, I pictured Trelawney as much more elegant and mysterious, rather than bearing shocking resemblance to the cat lady from The Simpsons.
To be honest, I also didn't like the way they cast Ginny Weasley. However, as she was cast very early on, it was nearly impossible to foresee she wouldn't grow to be the gorgeous redhead Ginny is being described as.
Still, let's focus on the positive bits. I think generally they have made a good casting choice throughout the movies; however, I really loved Evanna Lynch as Luna Lovegood. She was literally type-cast. Evanna doesn't only look exactly the way you would picture Luna, but she seems to have understood what Luna's essence is about and can transform it in her acting. I loved that and despite I am sometimes a bit annoyed with Luna, I think they couldn't have cast it in any way better.