This is a tricky one. I have found that most of the time a child with ASD lies it is to cover for a skills deficit somewhere in the chain of events-- fear of negative consequences trumps the rational response, so they try to lie. (Mostly they are bad at it.)
This thread is so thought-provoking. Reading through, I think I've crystalized understanding about something: DS sometimes lies because he already told the truth and nobody believed him. Conversation goes something like this:
Authority: Why did you do that?
DS8 (small voice - telling the truth): I don't know.
Authority: You do know that [behavior] is unacceptable don't you?
DS8: Yes
Authority: Are you allowed to do that at home?
DS8 (confused b/c "allow" is irrelevant): No. Yes. I don't know.
Authority: Well, you know very well it's not allowed here. Why did you do it?
DS8: [says nothing]
Authority: Are you going to answer me? I'm waiting for an explanation.
DS8 (making up a string of inconsistent excuses now b/c he has to say something): "He started it. I didn't do it, somebody else did. It was an accident. People do that all the time."
Authority: We both know you are lying now. This is going nowhere. I'm imposing X discipline. Do you think that will help you learn not to do this.
DS8: I don't know.
Authority: HE'S TOTALLY REMORSELESS. HE PRACTICALLY TOLD ME HE WAS GOING TO DO IT AGAIN.
This must be agonizing for a kid who really is trying, and doesn't want to lie but feels backed into a corner. How do you get Authorities to understand that he really does not know why it happened or how to stop it. FWIW, this is a big part of the reason DS won't go to birthday parties or (see my other thread) trick-or-treating or most anywhere he'll get overwhelmed.