made me curious on how to select one arrow or the other...
here's the latest, works on dimaligned or dimlinear dimensions
Code:
(defun c:test ();(/ ent pt ed d1 d2 obj)
  (vl-load-com)

  (setq temperr *error*			
        *error* errortrap
        varlst '("osmode" "cmdecho" )
        oldvar (mapcar 'getvar varlst)
	)
  (mapcar 'setvar varlst '(0))

  (while
  (setq ent (entsel "\nSelect dimension line near arrow: ")
        pt (osnap (cadr ent) "nea")
        ed (entget (car ent))
        d1 (distance pt (cdr (assoc 10 ed)))
        d2 (/ (cdr (assoc 42 ed)) 2)
        obj (vlax-ename->vla-object (car ent))
      )
  (if
    (or (wcmatch (vlax-get obj 'Objectname) "*Aligned*") (wcmatch (vlax-get obj 'Objectname) "*Rotated*"))
  (cond  
  ((and (>  d1 d2) (vlax-property-available-p obj 'Arrowhead1Type))(vlax-put obj 'Arrowhead1Type 11))
  ((and (<  d1 d2) (vlax-property-available-p obj 'Arrowhead2Type))(vlax-put obj 'Arrowhead2Type 11))
  )
    (Alert "\nNot a linear dimension... try again")
    )
  )
  (mapcar 'setvar varlst oldvar)
  (princ)
  )
  
(defun errortrap (msg)
  (if oldvar (mapcar 'setvar varlst oldvar))
    (setq *error* temperr)
  (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
        (princ (strcat "\n<< Error: " msg " >>"))
      )
(princ)
)