"I am having..."
People say "I'm having a baby." "I'm having a good time," or "I'm having friends over for dinner." but normally don't say "I'm having a car," "I'm having a cold." or "I'm having a solution."
The typical "reasons" found in grammar books for this is that simple present is used for facts, and present progressive is used for temporary situations or when we don't know the exact start time of an activity. Or, the speaker will make a "choice" about what they want to say, so that the reason they said "The bus is leaving at 08:00" and not "The bus leaves at 08:00." is because they want to stress the temporary nature of the bus' departure time. This kind of duality often happens in ESL textbooks, for example in the travel chapters where the focus is not on simple present / present progressive usage but on vocabulary or collocations, so the authors are not as vigilant about being "consistent" with their usage.
So, the reasons I have heard for why we don't say "I'm owning a car." is because owning a car is a fact. I can see that "logic" but what about "I have a headache."? I have never heard a native speaker say "I am having a headache," or "I was having a headache when you asked me about the files." Do you own a headache? Surely, it is temporary and merits the progressive tense. What about "I have brown eyes."? Colored contact lenses aside, I think everyone, native and non-native speakers would agree that "I am having brown eyes." is not something English speakers would say.
Is the choice between using present progressive and simple present idiomatic? For the case of "I have a headache / cold / toothache, etc." I have never heard my dad use the present progressive. I grew up hearing "Mommy has a headache so leave her alone." or "I have a cold, so I'm not going to the office today." So, I just learned those expressions and after 46 years it is set in stone as the "right" way to speak.
Are there deeper reasons for these differences in usage or is it just a matter of "that's the way it's expressed and it's stupid to question it."? Is there a difference because English has a progressive tense, thereby making these kinds of problems more apparent? Was there a time in the history of English when speakers said "I am having a headache / cold / toothache."?
Two facts interacting here
The Progressive construction is not used with stative predicates. Another way to put this is that if a predicate is used in the Progressive, it will be interpreted as an Active predicate, if possible. If this is not possible, you get an ungrammatical sentence.
The verb have is a widely-used auxiliary verb, and participates in many idioms and constructions; some of these are active and some are stative. There is also the 'Possess' sense of have, which is normally stative.
Basically, you can't say I'm having a car or I'm having the answer because those predicates are stative. I'm having a headache, on the other hand, like She's having a baby, can be considered active; it is interpretable as an event with a beginning, middle, and end.
Some examples of active idioms with have (that are therefore OK in the Progressive)
- She's having a baby in November.
- He's having lunch right now.
- She was having a cigar when he came in.
- He's having to do it all over again.
- She's having her ring resized.
.. as well as the ones mentioned in the question.
If they're active predicates, Progressive is allowed. But not statives.