Me pasaba lo mismo.
http://www.clubdelphi.com/foros/show...highlight=Time
No encontré solución alguna y opté por utilizar un MaskEdit con la misma máscara que estás utilizando tu, y hacer yo la comprobación 'a mano' si se trata de una hora correcta o no, y en su caso, reemplazar después el valor en la base de datos correspondiente.