Here is one I just wrote, but after you post I don't know if it will work. You can give it a try. It is simple, no prompts telling you how many associative hatchs it removes.
(defun c:RemoveHatchAssoc (/ ss Ent)
(vl-load-com)
(if (setq ss (ssget '((0 . "HATCH"))))
(while (setq Ent (ssname ss 0))
(vla-put-AssociativeHatch
(vlax-ename->vla-object Ent)
:vlax-false
)
(ssdel Ent ss)
)
)
(princ)
)