Die `external` Bibliothek von `tikz` benötigt für ihre Funktion unbedingt `\begin{tikzpicture}` und `\end{tikzpicture}`. Diese sind bei Verwendung der `tikzonimage`-Umgebung aber so verborgen, dass die Bibliothek `\end{tikzpicture}` nicht findet. Daher funktioniert Dein Beispiel nicht. Allerdings gibt es dafür einen Ausweg. Das Paket [`onpicture`](http://bazaar.launchpad.net/~tex-sx/tex-sx/development/view/head:/onimage.dtx) [`onimage`](http://bazaar.launchpad.net/~tex-sx/tex-sx/development/view/head:/onimage.dtx) bietet auch eine Umgebung `tikzonnode`, die man innerhalb einer `tikzpicture`-Umgebung verwenden kann:
\documentclass{article}
\usepackage{tikz,onimage}
\usetikzlibrary{external}
\tikzexternalize
\begin{document}
\tikzset{every path/.append style={ultra thick, rounded corners}}
\tikzsetnextfilename{myfigurename}
\begin{tikzpicture}
\node (picture) { \includegraphics[width=\linewidth]{PRODPIC-1461.jpg} };
\begin{tikzonnode}{picture}[tsx/show help lines]\sffamily
\draw[red, rotate around={-15:(0.265,0.3)}] (0.03, 0.15) rectangle
node[fill=white,rounded corners, fill opacity=.5, text opacity=1,rotate=-15] {Tastatur} (0.5,0.45);
\node[white] at (0.7, 0.8) {Lampe};
\end{tikzonnode}
\end{tikzpicture}
\end{document}
liefert dann bei Aufruf mit `pdflatex -shell-escape` auch wie gewünscht sowohl das PDF des Dokuments selbst als auch eine Datei `myfigurename.pdf`, die nur das gewünschte Bild enthält:
![myfigurename.pdf][1]
[1]: http://texwelt.de/wissen/upfiles/test9_3.png