I had not thought to check for any environment differences because both evaluations were done using Slime from a single Emacs buffer using C-x C-e (bound to `slime-eval-last-expression') and C-c C-p (bound to `slime-pprint-eval-last-expression'). Evaluation of *PRINT-CIRCLE* from the same buffer yields NIL. The following expression has the same problem:
it's not environmental differences, but a peculiarity of slime's implementation.
one of them calls SWANK:INTERACTIVE-EVAL on the CL side, and the other calls SWANK:PPRINT-EVAL.
the latter configures the printer differently (i.e. enables *PRINT-CIRCLE*). but notice that the two outputs are the same semantically. one of them just also annotates the cons cell identities.
in short: it's a peculiarity of the current slime implementation, but i wouldn't call it a bug.