This code worked for me up till 2006...now it will not edit the hatch base within the routine below.
(defun HATCHBASEIT (/ obj pt1 xcord ycord sp1)
(setq OBJ (entsel "\n* Select Hatch Pattern to Edit *"))
(setq PT1 (getpoint "\n* Select New Starting Point of Hatch Pattern *"))
(setq XCORD (car PT1))
(setq YCORD (cadr PT1))
(setq SP1 (list XCORD YCORD))
(setvar "snapbase" SP1)
(command "-hatchedit" OBJ "p" "" "" "")
(command "snapbase" "0,0")
(princ)
)