\begin{filecontents}{Oberdiek-Test.mst}
headings_flag 1
heading_prefix "\\IndexHead{"
heading_suffix "}"
\end{filecontents}

\documentclass[a5paper]{article}
\usepackage{geometry}
\geometry{vmargin=9cm}% nur für demo

\usepackage{fancyhdr}
\usepackage{makeidx}
\makeindex

\makeatletter
\newcommand*\IndexHeadWrite{%
  \protected@write\@auxout{}{%
    \string\@IndexHead{\@CurrentIndexHead}{\noexpand\the\value{page}}}}
\newcommand*\IndexHead[1]{%   
  \def\@CurrentIndexHead{#1}%
  \IndexHeadWrite
  \def\@CurrentIndexHead{#1\IndexContinuedName}}
\protected\def\IndexContinuedName{ cont.\@}%
\newcommand*\@IndexLastPages{}
\newcommand*\@IndexLastTestPages{}
\newcommand*\@IndexHead[2]{%
  \@ifundefined{ih@first@#2}{\expandafter\xdef\csname ih@first@#2\endcsname{#1}}{}%
  \@ifundefined{ih@last@#2}{\g@addto@macro\@IndexLastPages{,#2}}{}% 
  \expandafter\xdef\csname ih@last@#2\endcsname{#1}}
\newcommand*\@IndexHeadTest[2]{%
  \@ifundefined{ih@first@#2}{\global\@IndexRerunWarningtrue}{%
    \@ifundefined{ih@lasttest@#2}{\g@addto@macro\@IndexLastTestPages{,#2}}{}%
    \expandafter\xdef\csname ih@lasttest@#2\endcsname{#1}}}
\newif\if@IndexRerunWarning
\usepackage{atveryend}
\AfterLastShipout{\let\@IndexHead\@IndexHeadTest \global\@IndexRerunWarningfalse}
\AtVeryEndDocument{%
  \ifx\@IndexLastPages\@IndexLastTestPages
    \begingroup
      \@for\x:=\@IndexLastPages\do{%
        \expandafter\ifx\csname ih@last@\x\expandafter\endcsname
                        \csname ih@lasttest@\x\endcsname
        \else \global\@IndexRerunWarningtrue \fi
      }%
    \endgroup
  \else \global\@IndexRerunWarningtrue \fi
  \if@IndexRerunWarning
    \@latex@warning@no@line{%
      Index headers have changed.\MessageBreak
      Rerun LaTeX}%
  \fi}
\g@addto@macro\theindex{%
  \expandafter\def\expandafter\item\expandafter{%
    \item \hspace*{0pt}\IndexHeadWrite}%
  \expandafter\def\expandafter\subitem\expandafter{%
    \subitem \IndexHeadWrite}%
  \expandafter\def\expandafter\subsubitem\expandafter{%
    \subsubitem \IndexHeadWrite}}
\usepackage{auxhook}
\AddLineBeginAux{\string\providecommand\string\@IndexHead[2]{}}
\newcommand*{\IndexHeadLine}{%
  Author index %
  (%
    \@ifundefined{ih@first@\the\value{page}}{%
      \textbf{??}%
    }{%
      \@nameuse{ih@first@\the\value{page}}%
    }%
    --%
    \begingroup
      \let\IndexContinuedName\relax
      \@ifundefined{ih@last@\the\value{page}}{%
        \textbf{??}%
      }{%
        \@nameuse{ih@last@\the\value{page}}%
      }%
    \endgroup
  )%
}   
\makeatother

\tracingmacros=1
\begin{document}
Hello World

\index{Anton}\index{Alfred}\index{Antonia}x\newpage
\index{Berta}\index{Berta!Christine!Maria}x\newpage
\index{Dora} \index{Daniela}              x\newpage
\index{Emil} \index{Erich}                x\newpage
\index{Egon} \index{Erwin}                x\newpage 
\index{Hans} \index{Hans-Jürgen}          x\newpage
\index{Harmin}\index{Hartmut}             x\newpage
\index{Harmin!Irmin}                      x\newpage
\index{Harmin!Hans}                       x\newpage
\index{Henry}\index{Hennes}               x\newpage
\index{Heiko}\index{Heiko-Paul}           x\newpage 
\index{Heiner}\index{Heini}               x\newpage
\index{Heinrich}\index{Heinrich!Wilhelm}  x\newpage
\index{Holger}  \index{Klaus-Holger}      x\newpage
\index{Horst}   \index{Horst-Erich}       x\newpage
\index{Hugo}    \index{Yve}               x\newpage
\index{Xaver}   \index{Xavier} 

\cleardoublepage
\pagestyle{fancy}
\fancyhead{}
\fancyhead[C]{\IndexHeadLine}%
\fancypagestyle{plain}{%
  \fancyhead{}%
  \fancyhead[C]{\IndexHeadLine}%
}
\printindex
\end{document}

