Query whith DATETIME
Replace 

CONVERT (VARCHAR(20), @Hoy1,108) fechaEntrada,
 CONVERT (VARCHAR(20), @Hoy2,108) fechaSalida,
DATEDIFF(HOUR, fechaEntrada, fechaSalida) %24 AS horasAlDia


with 

CONVERT (VARCHAR(20), Entrada,108) fechaEntrada,
 CONVERT (VARCHAR(20), Salida,108) fechaSalida,
DATEDIFF(HOUR, Entrada, Salida) %24 AS horasAlDia


Here is the script:

DECLARE @Hoy DATETIME 
DECLARE @Hoy1 DATETIME 
DECLARE @Hoy2 DATETIME 

SELECT  @Hoy = CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE(), 112))
SELECT  @Hoy1 = CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE(), 112))+'00:00:00'
SELECT  @Hoy2 = CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE(), 112))+'23:59:59'



 select c.CodeCompany,
 CONVERT(char(6), @Hoy, 112) AS fechaActual,
 a.idClave,
 c.nombre + ' ' + c.apellidos as Nombre,
 d.Descripcion as Depto, 
 CONVERT (VARCHAR(20), Entrada, 108) fechaEntrada,
 CONVERT (VARCHAR(20), Salida, 108) fechaSalida,
 DATEDIFF(HOUR, Entrada, Salida) %24 AS horasAlDia
  from tblasistencia a JOIN tblpersonal c ON a.idClave=c.idClave
 JOIN tblDepto d ON c.fkDepto=d.idDepto
 where
   fechaEntrada BETWEEN CONVERT(DATETIME, @Hoy1,103) and 
    CONVERT(DATETIME, @Hoy2,103)and fkStatus !=1