I don't know if this is a bug or a normal behavior, but macroexpand-all seems not to expand global symbol-macros. But it does expand local symbol macros (defined with symbol-macrolet).

cl-user> (defparameter *storage-for-deflex-var-lexical-environment* nil)
*storage-for-deflex-var-lexical-environment*
cl-user> (define-symbol-macro lexical-environment
    *storage-for-deflex-var-lexical-environment*)
lexical-environment
cl-user> (sb-cltl2:macroexpand-all '(let ((lexical-environment lexical-environment)) lexical-environment))
(let ((lexical-environment lexical-environment))
  lexical-environment)
cl-user> (sb-cltl2:macroexpand-all
      '(symbol-macrolet ((lexical-environment *storage-for-deflex-var-lexical-environment*))
        (let ((lexical-environment lexical-environment)) lexical-environment) nil))
(symbol-macrolet ((lexical-environment
                   *storage-for-deflex-var-lexical-environment*))
  (let ((lexical-environment *storage-for-deflex-var-lexical-environment*))
    lexical-environment)
  nil)

I believe that even if macroexpand-all does not expand global symbol-macros, my code will still work (it is a global definition after all).

Regards,
Gustavo.