Man könnte den zusätzlich benötigten Aufruf auch automatisieren. Dazu patche ich die Bibliothek `external` so, dass sie zusätzlich zu dem normalen `\write18`-Aufruf auch noch einen weiteren `\write18`-Aufruf nach dem Einlesen der `aux`-Datei durchführt:
    \usepackage{scrlfile}
    \usepackage{etoolbox}
    \makeatletter
    \newif\if@lateexternal
    \newcommand*{\nextwithlateexternal}{\@lateexternaltrue}
    \renewcommand*{\@lateexternalfalse}{\global\let\if@lateexternal\iffalse}
    % Den Systemaufruf von external so ändern, dass er optional doppelt
    % stattfindet: Zunächst wie gehabt unmittelbar und zusätzlich nachdem
    % die aux-Datei geschlossen (und sogar neu gelesen) wurde.
    \patchcmd\tikzexternal@externalizefig@systemcall@@
      {\immediate\write18{\pgf@tempa}}%
      {\immediate\write18{\pgf@tempa}%
        \if@lateexternal
          \@lateexternalfalse
          \begingroup
            \protected@edef\reserved@a{%
              \noexpand\endgroup
              \noexpand\AfterReadingMainAux{%
                \noexpand\immediate\noexpand\write18{%
                  \expandafter\detokenize\expandafter{\pgf@tempa}}%
              }%
            }%
          \reserved@a
        \fi
      }%
      {}%
      {\patchFailedError}
    % Nun dafür sorgen, dass der Aufruf \nextwithlateexternal nur auf
    % den nächsten potentiellen Systemaufruf von external wirkt statt
    % auf den nächsten tatsächlichen oder gar alle:
    \apptocmd\tikzexternal@externalizefig@systemcall@@
      {\@lateexternalfalse}
      {}
      {\patchFailedError}
    \makeatother
**Erklärung:**
Der späte `\write18`-Aufruf erfolgt mit Hilfe der Anweisung `\AfterReadingMainAux`, die von [`scrlfile`](http://www.ctan.org/pkg/koma-script) bereitgestellt wird. Für den Aufruf selbst greife ich dabei genau auf den Aufruf zurück, den `external` selbst durchführt. Dazu muss nur der Original-`\write18`-Aufruf erweitert werden. Ich muss damit nicht wissen, wie die externe Datei heißt, das ist alles in `\pgf@tempa` versteckt.
Außerdem habe ich einen Schalter eingebaut, damit man nur diejenigen Abbildungen doppelt durchlaufen lassen kann, die das wirklich benötigen. Das geht über `\nextwithlateexternal` unmittelbar vor der entsprechenden `tikzpicture`-Umgebung. 
**Insgesamt sieht das dann so aus:**
    \RequirePackage{filecontents}
    \begin{filecontents}{\jobname Data.asc}
    2   224694229071385000  8.97    8.72    3.275
    5   561735572678462000  8.25    5.25    4.91
    10  1123471145356920000 8.5 4.92    4.92
    30  3370413436070770000 7.75    3.5 6.19
    60  6740826872141550000 7.09    4.5 5.82
    120 13481653744283100000    6.85    4.75    6.06
    \end{filecontents}
    \documentclass{article}
    \usepackage{scrlfile}
    \usepackage{pgfplots}
    \pgfplotsset{compat=1.10}
    \usepackage{siunitx}
    \usepgfplotslibrary{external}
    \tikzexternalize
    \tikzsetexternalprefix{external_figs/}
    % Jetzt wird die entscheidende Anweisung von external gepatcht,
    % damit diese optional einen weiteren Lauf _nach_ dem Schließen
    % der aux-Datei durchführt:
    \usepackage{etoolbox}
    \makeatletter
    \newif\if@lateexternal
    \newcommand*{\nextwithlateexternal}{\@lateexternaltrue}
    \renewcommand*{\@lateexternalfalse}{\global\let\if@lateexternal\iffalse}
    \patchcmd\tikzexternal@externalizefig@systemcall@@
      {\immediate\write18{\pgf@tempa}}%
      {\immediate\write18{\pgf@tempa}%
        \if@lateexternal
          \@lateexternalfalse
          \begingroup
            \protected@edef\reserved@a{%
              \noexpand\endgroup
              \noexpand\AfterReadingMainAux{%
                \noexpand\immediate\noexpand\write18{%
                  \expandafter\detokenize\expandafter{\pgf@tempa}}%
              }%
            }%
          \reserved@a
        \fi
      }%
      {}%
      {\patchFailedError}
    \apptocmd\tikzexternal@externalizefig@systemcall@@
      {\@lateexternalfalse}
      {}
      {\patchFailedError}
    \makeatother
    
    \begin{document}
    \nextwithlateexternal% späte Externalisierung für nächstes tikzpicture aktivieren
    \begin{tikzpicture}
    \begin{axis}[
       xlabel = {xlabel},
       ylabel = {ylabel 1},
       smooth,
       axis y line*=left, 
       xmin = -2e18,
       xmax = 1.6e19,
       scaled x ticks=false,
       xticklabel={\pgfmathprintnumber[sci,sci generic={mantissa sep=\times,exponent={10^{##1}}}]{\tick}},
       xtick = {0,5e18,1e19,1.5e19},   
       legend style={draw=none},
    ]
    \addplot[black, mark =x] table [x index = 1, y index = 2] {\jobname Data.asc};
    \label{1}
    \addplot[red, mark =x] table [x index = 1, y index = 3] {\jobname Data.asc};
    \label{2}
    \end{axis}
    
    \begin{axis}[
       ylabel = {ylabel 2},
       smooth,
       axis y line*=right, 
       xmin = -2e18,
       xmax = 1.6e19,
       ymin = 2.9,
       ymax = 7.2,   
       %ytick ={3,4,...,9},
       xmajorticks=false,
       scaled x ticks=false, 
       legend style={draw=none},
    ]
    \addlegendimage{/pgfplots/refstyle=1}\addlegendentry{\scriptsize{name 1}};
    \addlegendimage{/pgfplots/refstyle=2}\addlegendentry{\scriptsize{name 2}};
    \addplot[green, mark =x] table [x index = 1, y index = 4] {\jobname Data.asc};
    \addlegendentry{\scriptsize{name 3}};
    \end{axis}
    \end{tikzpicture}
    \end{document}
**Nach dem ersten LaTeX-Lauf** ist die Abbildung noch fehlerhaft:
![noch fehlerhaft][1]
**Nach dem zweiten LaTeX-Lauf** stimmt aber alles:
![nach zwei Läufen][2]
Da der von `external` auch für den ersten `pdflatex`-Lauf verwendete Aufruf kopiert wird, sollte das ganze **unabhängig vom Betriebssystem** sein. Damit es überhaupt funktioniert, muss aber natürlich `external` die Notwendigkeit eines neuen `pdflatex`-Laufs erkennen. Also bitte mit einem jungfräulichen `external_figs`-Verzeichnis testen!
Ein weiterer Vorteil der Lösung: Wann immer `external` den normalen externen `pdflatex`-Lauf durchführt, wird auch der zweite, späte `pdflatex`-Lauf automatisch durchgeführt. Erkennt `external` hingegen keine Notwendigkeit für den ersten Lauf, so entfällt auch automatisch der zweite.
Da die Lösung außerdem eine auf LaTeX-Ebene ist, ist sie auch **unabhängig vom verwendeten Editor**. Ideal wäre natürlich, wenn @cfeuersaenger eine solche Möglichkeit direkt in `external` einbauen würde, so dass man sie über einen TikZ-Schalter aktivieren könnte.
Einen Nachteil will ich aber nicht verschweigen: Gibt es im ersten von `external` durchgeführten `pdflatex`-Lauf einen Fehler, so wird der zweite trotzdem durchgeführt und der Fehler tritt ein zweites Mal auf.
  [1]: http://texwelt.de/wissen/upfiles/test13.png
  [2]: http://texwelt.de/wissen/upfiles/test15.png