It seems that .NET cannot create hatch from regions.
Your observation needs a quaification: ...cannot create a hatch directly from a region, and therefore cannot create an associative hatch from a region.
One way to hatch a region would be to hatch the Entities retrieved with Explode(); another consists of transversing the Boundary Representation (AcDbMgdBrep.dll).