I ran across this the first time late last year. Then more recently. The home has been inspected and even had a professional roofer inspect the roof. Then a few weeks after closing the insurance company says they will not insure the roof. Some companies say the roof has to be less than 7 years old. Other insurance companies just look for literally any signs of wear. Wear starts happening the day the roof is installed. Here is the challenge. A new roof can be as little as $5000 to $8000 to replace or upwards of $25000 or even more. It is not a cheap repair. Most roofs in Texas are repaired or replaced as a result of a hail storm. And it seems the insurance companies are trying to mitigate their exposure to claims.
The other challenge is that an architectural shingle is warrantied for up to 35years for material defects. (not hail or wind). If your roof is 9 years old and is an architectural roof, you are less than 30% of the expected life of the roof, and still not covered by insurance.
How do you resolve this issue. First be sure the roof of the home you are purchasing is fully inspected during the option period on the contract. Second arrange for insurance on your new home the day you sign the contract to purchase. Since most insurance companies do not send someone to inspect your roof till weeks later you will likely not know what their stance until well after closing and inspections. IF your insurance company has a problem, shop around. Not all companies are using the same rules. IF they see they are losing business because of this they are likely to change their rules.
This is at least messy. There is no good way to know in advance how they will see the roof. So far the insurance companies have not disclosed their policies or criteria so the best you can do is to have your roof well inspected.