Ok, wait a second, are we calling Josh Hartnet an amazing actor? Have you seen 30 Days of Night? That movie was so bad (although it was so bad it became good again), so maybe that clouded my judgement. When you don't have good material to work with it's hard to create a good character.
I have to agree with BrileyKenney though, Daniel Radcliffe isn't the best actor. You can always tell he's acting which is annoying. All the older characters they get are always super talented so maybe he stands out more as an amateur.