The following file gives an error (can't redefine setq) when compiled, but not when loaded:
--- foo.lisp --
(defmacro setq (a b) nil))
(setq var 'value)
--- end ---
This is a simplified version of code that occurs in the paiprolog system, and this problem causes (ql:quickload "paiprolog") to fail.
I encountered this problem with CLISP 2.49 running on Windows.