Hating Main Characters

A great character with a dark heart
One of the very first bits of wisdom handed down to me as a new writer was that I should make my main characters likable. I was told that if I make my character sympathetic, my readers would care about what happened to them and read on.
But since then, I've found this isn't always true.
Take Tony Soprano.
For years, my sister had been after me to watch The Sopranos, but because I'm not a fan of mob movies, I never gave it a try. But finally, late one night when there was nothing else on TV, I caught a re-run of the show. And I was hooked!
Tony Soprano is the antitheses of a likable protagonist. He's a mob boss, for starters, and a cold-blooded killer. He lies, cheats on his wife, and terrorizes nearly everyone he meets. He's self-indulgent, smarmy, greedy, and cruel. If, for just a moment, a little humanity shines through and you begin to sympathize with him, he's sure to stab you in the back during the very next scene. But, despite all this, he kept me watching, episode after episode.
Another terrible character who recently got under my skin was Cass Neary from Elizabeth Hand's novel, Generation Loss. Cass is a kleptomaniac, a drug abuser and an alcoholic. She sows havoc wherever she can. She photographs the dead and dying, never once caring about their plight. Yet, somehow, I was tied to the character. Despite her craziness, I wanted her to survive.
Good characters are wonderful to be sure. But there's something to be said for main characters with dark hearts. While they don't exactly get sympathy from the audience, they draw us, like hostages, into a story and keep us there until they're ready to let us go.