I couldn't reproduce this with emacs -Q, but this is what happends. I insert these forms into a scratch-buffer

;; QUIT gets inserted
(condition-case error
    (sleep-for 5)
  (quit (goto-char (point-max))
        (insert "QUIT")))


;; QUIT doesn't get inserted. Quit isn't displayed in the mini-buffer
(condition-case error
    (let ((inhibit-quit t))
      (sleep-for 5))
  (quit (goto-char (point-max))
        (insert "QUIT")))


GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.6.4) of 2013-11-02 on ubuntu