Heres your answer right from the "horses mouth" regarding the movie version.
Screenplay writer Guinevere Turner fleshed out what they meant to do with the movie:
“It’s ambiguous in the novel whether or not it’s real, or how much of it is real, and we decided, right off the bat, first conversation about the book, that we hate movies, books, stories that ended and ‘it was all a dream’ or ‘it was all in his head’. Like Boxing Helena, there’s just a lot of stuff like that. And so we really set out, and we failed, and we’ve acknowledged this to each other, we really set out to make it really clear that he was really killing these people, that this was really happening. What’s funny is that I’ve had endless conversations with people who know that I wrote this script saying ‘So, me and my friends were arguing, cause I know it was all a dream’, or ‘I know it really happened’. And I always tell them, in our minds it really happened.”
“What starts to happen as the movie progresses is that what you’re seeing is what’s going on in his head. So when he shoots a car and it explodes, even he for a second is like ‘Huh?’ because even he is starting to believe that his perception of reality cannot be right. As he goes more crazy, what you actually see becomes more distorted and harder to figure out, but it’s meant to be that he is really killing all these people, it’s just that he’s probably not as nicely dressed, it probably didn’t go as smoothly as he is perceiving it to go, the hookers probably weren’t as hot etc etc etc It’s just Bateman’s fantasy world. And I’ve turned to Mary many times and said ;We’ve failed, we didn’t write the script that we intended to write.'”