Thanks for the help. This code seems to accomplish my goal. A downward stroke into a block will descend into it, and an upward stroke will return one level up the hierarchy. The schHiDescend() function is what I was looking for, as opposed to the schHiEditInPlace() function.
firstPt = hiGetStrokeFirstPt()
lastPt = hiGetStrokeLastPt()
firstPt_yCoord = (cadr firstPt)
lastPt_yCoord = (cadr lastPt)
(cond ((lastPt_yCoord > firstPt_yCoord) schReturn())
((lastPt_yCoord < firstPt_yCoord) preXY(lastPt) schHiDescend())
(else (printf "Error determining direction of stroke\n")))
EDIT: It appears that schReturn() is not a valid function, even though leReturn() is a valid function. It also appears that leReturn() also works in schematics. Is there an equivalent leReturn() function for schematics, or should I just use the leReturn() function?