Try this:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage{lipsum}
\usepackage{tocloft}
\addtocontents{toc}{\cftpagenumbersoff{part}}
\renewcommand*{\addparttocentry}[2]{%
\addtocentrydefault{part}{}{\protect\parbox{\textwidth}{\protect\centering#2}}% original #1 in second argument
}
\begin{document}
\tableofcontents
\part{A}
\section{a}
\lipsum
\part{B}
\section{b}
\lipsum
\end{document}

Instead of \hfil I used a \parbox with centered contents, just in case some title would span more than one line. I suppresses the part number in the ToC with a simple redefinition of \addparttocentry.
You mentioned that you need to use tocloft, but if this is not the case, you can use the tocstyle package (designed especifically for the KOMA classes) instead and say something like:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage{lipsum}
\usepackage{tocstyle}
\usetocstyle{classic}
\settocfeature{pagenumberhook}{}
\renewcommand*{\addparttocentry}[2]{%
\addtocentrydefault{part}{}{\protect\parbox{\textwidth}{\protect\centering#2}}% original #1 in second argument
}
\begin{document}
\tableofcontents
\part{A}
\section{a}
\lipsum
\part{B}
\section{b}
\lipsum
\end{document}
Warning:
The following solution should be used only for old versions of KOMA-Script (for example, the one in TeX Live2009); for recent versions (those from TeX Live2010 on), please see the code above; I only include this solution here sice the OP is using TeX Live2009 and has no possibility to update:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage{lipsum}
\usepackage{tocloft}
\makeatletter
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\@maybeautodot\thepart%
\addcontentsline{toc}{part}{\protect\makebox[0pt][l]{\protect\parbox{\textwidth}{\protect\centering#1}}}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\begingroup
\setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
\raggedpart
\interlinepenalty \@M
\normalfont\sectfont\nobreak
\ifnum \c@secnumdepth >-2\relax
\size@partnumber{\partformat}%
\partheadmidvskip
\fi
\size@part{#2}\strut%
\partmark{#1}\par
\endgroup
\@endpart
}
\makeatother
\addtocontents{toc}{\cftpagenumbersoff{part}}
\begin{document}
\tableofcontents
\part{A}
\section{a}
\lipsum
\part{B}
\section{b}
\lipsum
\end{document}
\addparttocentry. – Gonzalo Medina Aug 17 '12 at 13:51scrbook) then your LaTeX system must be really outdated. Are you sure you used my exact code (usingscrbook)? If you use a standard class (book,report) the code won't work, but I chosescrbookbecause that's what you used in your question. – Gonzalo Medina Aug 17 '12 at 18:50