If these are always and only orthogonally-oriented rectangular areas, I would suggest using the draW boundary option in the -HATCH command. It can pull the coordinates from the two points to define corners, and there will be no object drawn that needs to be deleted. In simplest terms, and lightly tested:
(defun C:HRS (/ p1 p2); = Hatch Rectangle Solid
(setq
p1 (getpoint "\nCorner of Hatched rectangle: ")
p2 (getcorner p1 "\nOpposite corner: ")
); setq
(command "_.-hatch" "_properties" "_solid" "_W" "_no"
"_non" (list (car p1) (cadr p1)) "_non" (list (car p2) (cadr p1))
"_non" (list (car p2) (cadr p2)) "_non" (list (car p1) (cadr p2))
"_close" "" ""
); command
(prin1)
)
Kent Cooper, AIA