This will do what you asked.
(defun c:fakedim (/ SS c i)
(vl-load-com)
(setvar "cmdecho" 0)
(setq c 0 i 0)
(if (setq ss (ssget "X" '((0 . "DIMENSION"))))
(foreach dim (mapcar 'cadr (ssnamex ss))
(setq iOG (vlax-ename->vla-object dim))
(if (/= (vla-get-LinearScaleFactor iOG) 1)
(progn
(vlax-put-property iOG "textcolor" 5)
(vlax-put-property iOG 'TextFill :vlax-true)
(vlax-put-property iOG 'TextFillColor 3)
(setq c (1+ c))
)
)
(if (/= (vla-get-textoverride iOG) "")
(progn
(vlax-put-property iOG "textcolor" 1)
(vlax-put-property iOG 'TextFill :vlax-true)
(vlax-put-property iOG 'TextFillColor 2)
(setq i (1+ i))
)
)
)
(alert "No Dimensions in the drawing !!!!")
)
(if (or (> i 0) (> c 0))
(progn
(prompt (strcat "\n" (itoa c) " Dimensions with Linear Scale Diffrence"))
(prompt (strcat "\n" (itoa i) " Dimensions with Text Overwritten"))
)
)
(setvar "cmdecho" 1)
(princ)
)
--Edit-- updated code to use the same SS and added a counter with report.
Don't know what the (-3 ( "ACAD")) is used for can someone explain? might be better to just use "(if (setq ss (ssget "X" '((0 . "DIMENSION"))))"