Hola de nuevo dos_olivos dos cosas:
 
primero, para obtener sólo la fecha con la hora en cero, basta con que quites la concatenación de la hora en la respuesta que de dí, creo que te sirve perfectamente para lo que necesitas y sólo utilizas una función SUBSTRING en lugar de LEFT Y STUFF:    
Código SQL:
Ver original- DECLARE @fecha VARCHAR(30) 
- SET @fecha = '20110103232219' 
- SELECT CONVERT(DATETIME, SUBSTRING(@fecha, 1,8)) AS fecha 
el resultado de esto sería:  
Código:
 fecha
-----------------
2011-01-03 00:00:00.000
  Ahora bien, con respecto al segundo tema, no entendí muy bien qué es lo que necesitas, pero creo que tienes convertir una cadena "23.01.2010" a datetime, esto lo puedes hacer así:    
Código SQL:
Ver original- DECLARE @fecha VARCHAR(15) 
- SET @fecha = '23.01.2010' 
- SELECT CONVERT(DATETIME, REPLACE(@fecha, '.', '/'), 103) AS fecha 
el resultado de esto sería:  
Código:
 fecha
-----------------
2011-01-23 00:00:00.000
  Saludos
Leo