Si te esta retornando más de un valor en la sub consulta no dara nunca, creo que a cada una de estas:
Código SQL
[-](select TOP 1 [LogTime]from History as h where [UserID]= r.FingerID AND [FKey]='Entrada'and [LogDate] ='2011/05/17') Entrada
el Top 1 indica que sacara solo una fila lo mismo para Salida, etc y con un order by de la hora sacaras el que quieras el primer intento o el segundo. si tendría la estructura de tus tablas sería más facil para mi explicarte.
salu2