Plot holes hurt an otherwise excellent movie

Rating: 8/10 (4 December 2008)

This is spoiler-free up to the part that says "SPOILERS." Hancock is the story of antihero John Hancock (Will Smith) with superhero powers who saves the life of optimist Ray Embrey (Jason Bateman) who happens to be in PR. As a way of saying thank you, Ray works with Hancock to change his negative public image into something positive. The characters are moderately complex and the movie goes from comedic with some dramatic elements to dramatic with some comedic bits.
First of all, I'd like to talk about all the good things in this movie. The acting, characters, cinematography, dialogue and directing are all great. And the musical score. Wow. Now I am never one for caring much about music in a movie, but I was absolutely blown away at how much the music added to the movie. If you're fine with accepting everything that happens in a movie as plausible even outside the perceived confines of the fictional universe then you should like this movie. Were the plot holes less damning, I would rate this movie an 8 easily. I still highly recommend this movie.
*****SPOILERS*****
Now time for the plot holes and other spoilers. The first one is simply nitpicking. When Hancock throws the boy Michelle up in the air, the sudden acceleration at both the beginning and end of Michelle's journey surely would have killed him.
More problematic is when Hancock goes to prison and most of the inmates circle and threaten him. In much the same way that a mugger with a knife as a weapon won't attack an entire swat team, a group of unarmed thugs would not logically attack the equivalent of Superman. Sure there might be a few crazy inmates who would think they could do something, but not the dozens shown in the movie.
Last is the whole thing about Hancock and Mary losing their powers whenever they are close. The proximity and duration, the only two factors affecting their power loss, seem to be inconsistent throughout the movie. They lived in the same city for years so the distance has to be relatively small. Since this is the case, Hancock should not have gotten injured at the liquor store if Mary was at her home as was shown in the previous scene. That would most likely have been ample distance between the two for them to remain immortal. Still, after Hancock got shot, Mary should have fled the city ASAP after she found out Hancock got shot. That way Hancock could have gotten healed almost immediately. She could have then returned and he left then all would be fine.
Not a plot hole but still a spoiler: The hospital scene when Hancock is about to get killed and Ray comes to save the day is far too comedic for the mood set by the preceding 10 minutes and by the following 3 minutes. I would have been perfectly fine if Ray had knocked out the villain, but chopping off his other hand in addition to the lack of music, the villain's comment of "You didn't!" and the panning to his hook hand completely destroys the mood. Those five seconds absolutely destroy the movie and that is the biggest flaw with the movie, easily costing it 1 star.