Language Log has a couple entries on this:
Click through and read. There is no shortage of hypotheses.
I have my own hypothesis to add. I think a lot of people use the word no to mean but seriously…:
A: Where’d you get that jacket?
B: I mugged a leprechaun. No, I’ve had this thing for ages. I don’t really have much to wear with it, it’s so green.
This no has almost no negative connotation at all. It’s just sort of a verbal pivot point.
(Update: This use of no is described at length in Schegloff, Emanuel A., Getting Serious: Joke → Serious ‘no’, Journal of Pragmatics, 2001, vol. 33, no. 12, pp. 1947-1955. You can obtain the PDF here by filling out a little form.)
I think this no gets to be practically subconscious in some people’s speech, and I suspect yeah, no comes from that.