Ciao
Il fatto è che il carattere ":" è uno dei caratteri di formato delle date e sta a rappresentare il separatore predefinito per ore, minuti e secondi (quello che si può impostare in Opzioni internazionali e della lingua, dal pannello di controllo) pertanto per eseguire la corrispondenza letterale del carattere, ne devi eseguire l'escape nel formato:
DateTime dt = DateTime.ParseExact("21-12-08 21:12:23", @"dd-MM-yy HH\:mm\:ss", null);
Luca