Interesting. CLISP and SBCL can evaluate (defsystem ...), but CCL, ECL, ABCL can't.
This is how I see things.
Lisp "forms" are those S-Expressions that can be evaluated. 3 (+ 3 4) are S-Expressions that are forms, but (3) is one that isn't.
I have only ever assumed that (defsystem ...) was an S-Expression, and not necessarily a Lisp form. I make use of the (defsystem ...) in a *.asd file by calling: (asdf:operate 'asdf:load-op "...") or (ql:quickload "...")
I don't know that (defsystem ...) : a) is a lisp form at all, that can be evaluated by typing it in directly or by loading its containing file b) even if it is a form, whether it expects #'asdf:operate to set things up in a particular way before evaluating it.
So I don't know that what you're trying to do is supported by asdf. If you know that it's meant to be, then you've found a bug.
Vibhu