Ich habs noch mal ein bisschen minimalisiert:
Code:
\documentclass{scrbook}
%\usepackage{graphicx}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\usepackage{hyperref}

\usepackage{listings}
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\makeatletter
%Quellcodeverzeichnis
 % Festlegen des Kapitelnamen (nicht unbedingt notwendig):
 % aus listing.sty
 
 % Erzeugen eines Eintrags im Inhaltsverzeichnis:
 % aus book.cls
 \newcommand\loltableofcontents{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\contentsname}
    %    \@mkboth{%
    %       \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
    \chapter{\lstlistlistingname}
 
    \@starttoc{toc}%
    \if@restonecol\twocolumn\fi
    }
 
\renewcommand\lstlistlistingname{Quellcodeverzeichnis}
 
 % aus listing.sty
 \renewcommand\lstlistoflistings{\bgroup
    \let\contentsname\lstlistlistingname
    \let\lst@temp\@starttoc \def\@starttoc##1{\lst@temp{lol}}%
    \loltableofcontents \egroup}
 
\makeatother
 
 
\begin{document}
 
\tableofcontents
 
\lstlistoflistings
 

 \begin{lstlisting}[caption={ein paar Zeilen code},label=test123,captionpos=t]
 for i:=maxint to 0 do 
    begin 
		//kommentar
    j:=square(root(i)); 
 end; 
 \end{lstlisting}  
 
\end{document}
Ich VERMUTE, dass du dir mit deinem Auszug aus book.cls keinen neuen Eintrag im Inhaltsverzeichnis, sondern ein neues Inhaltsverzeichnis mit dem Namen des Listingverzeichnisses definierst. Aber mit diesen Sachen kenne ich mich nicht aus.