Schon oft erklärt: Zwar werden Verzeichnisdateien normalerweise in einer Gruppe gelesen, allerdings arbeitet \setcounter im Gegensatz beispielsweise zu \setlength global. Es ist also kein Wunder, wenn nach dem Einlesen eines Verzeichnisses, in dem tocdepth per \setcounter gesetzt wird, nach dem Verzeichnis tocdepth noch immer genau diesen Wert hat.
Lösung:
\addtocontents{toc}{\protect\value{tocdepth}=-1}
Hier wird tocdepth lokal zu der Gruppe, innerhalb der die toc-Datei gelesen wird, auf -1 gesetzt. In dem Fall ginge es übrigens auch ohne \protect.