Maybe this is expected behaviour, but it's not documented in the manual, and it certainly surprised me.
When you use the draft class option and use the tikz external library, all Tikz pictures are replaced by a box with the name of the externalized graphic.
MWE:
\documentclass[draft]{article}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle [radius=1];
\end{tikzpicture}
\end{document}

The fact that it displays the correct filename leads me to think it's the external library doing this, because whilst I know that pgf itself does a similar thing with the draft option, I wouldn't expect it to know the filename (and anyway, I haven't loaded pgf directly, and I think it only obeys draft when called directly.)
However, commenting out the \tikzexternalize line gives the picture.

I'm not saying that this behaviour wouldn't often be useful! However, it's not what I'd prefer in what I'm working on, and as it isn't documented I don't know what I can do about it.
I can try and work around it, and not use draft but it's in a big document that already does several different things depending on whether draft is set.
What are my options?

draftmode effect graphics that included form external files, which is what\tikzexternalizedoes, and does not effect thetikzpictureenvironment as it is not a graphic that is included, but rather just some code that gets typeset. – Peter Grill Mar 9 '12 at 19:19pgfto know the filenames of the externalized pictures (e.g. main-texfile-figure0), since they're generated by theexternallibrary. That wasn't very clear, I'll edit it. – Joseph Cooper Mar 9 '12 at 19:19externaldoes is to create the graphic in the first place. But once it is created then it is included back in via\includegraphicsand what you are seeing is the effect of thedraftoption on thegraphicxpackage. However, I would say that this is definitely Not Obvious Behaviour and there's no reason why one would guess that (especially asgraphicxis loaded viapgfso one might not know it was being used). – Andrew Stacey Mar 9 '12 at 19:44