Heffley, on the page, is not fully dimensional in any sense, so making him human and cinematic is a challenge, and one tied mainly casting.
Zachary Gordon, who gets the lead, is half a success. He's a proficient little pro who hits his marks, understands the scenes, sells his lines. It's asking a lot for a child actor like Gordon to do the man's portion of this job - to somehow make Heffley's selfishness and failure seem funny. Unfortunately, Seth Rogen is probably a little old for this role.
On the other hand, the movie hits pay dirt with roly-poly Robert Capron, who plays Rowley, Heffley's chubby, hopelessly nerdy friend, a boy who embraces his lack of middle school cool with good-natured zeal and becomes cool because of it.
He makes Rowley as easy to like as Heffley is sometimes hard. Gordon, though, has the much tougher job. Heffley is a screw-up, like Bart Simpson, but he's not a rebel like Bart. He's aspirational, he wants to fit in, to climb the social ladder, and is sometimes ruthless in his attempts.
Sometimes, his behavior is simply baffling. It's hard to understand why he rejects the attention of the attractive young lady (Chloe Grace Moretz, of the upcoming "Kick Ass") who tries to befriend him. This appears to be an error in casting. She's probably meant to be a starchy brain, something like Hermione, but Moretz looks like she wandered in from an Eric Rohmer film.
Is it a big deal? Probably not to its target audience of middle schoolers, who will be focused on jokes about rancid cheese, or farts that occurs during wrestling matches.
And Heffley does manage to redeem himself in the final scene, displaying the kind of humility and decency that finally make us see that he's more than a stick figure after all.