Based on your ucsfollow settings, it looks like you are changing your user coordinate systems. Each time you dimension in a non-World UCS, it generates the dimension block based on the ucsxdir. It won't automatically rotate the text when you change the UCS again. @JoeVernice posted a flip dimension text function that should work. If your desire is to always ensure the text is going in the correct direction and you don't need to flip it back and forth, you might use this function.
(defun c:dimrev (/ ang)
;;D. C. Broad, Jr.
;;Revolves dimension text based on ucsxdir.
(setq ang (angle '(0 0 0) (getvar "ucsxdir")))
(if (ssget '((0 . "DIM*")))
(vlax-for n
(vla-get-activeselectionset
(vla-get-ActiveDocument
(vlax-get-acad-object)))
(if (vlax-property-available-p n "rotation")
(vla-put-rotation n ang)
)
)
)
(princ))
Architect, Registered NC, VA, SC, & GA.