In other words, you can't evaluate a form in which the car is the actual macro object itself
The single biggest compromise I had to make because of MzScheme was not being able to put objects like functions and hashtables into macroexpansions. I don't know if I would have wanted to do what you tried to, but in other ways I'm constantly inconvenienced by this restriction.
You can do it in most CL implementations, though the spec is ambiguous on the matter.