I think "No, he hasn't" is still a possible answer to 'b'. What is different between a and b, is that with 'b' there's an assumption that he is having breakfast and you expect that he has already had it, but that might not be the case. A closer parallel may be evident when using the exact phrase from your 'a' example: Has Peter phoned Mary yet ?
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.