Pues si, tienes razón...
Acabo de leer esto referente al predicado TOP:
La cláusula TOP permite sacar las n primeras filas de la tabla origen. No elige entre valores iguales, si pido los 25 primeros valores pero el que hace 26 es el mismo valor que el 25, entonces devolverá 26 registros en vez de 25 (o los que sea). Siempre se guia por la columna de ordenación, la que aparece en la cláusula ORDER BY o en su defecto la clave principal de la tabla.
Prueba a ver que pasa si haces
ORDER BY Fecha DESC, ID y me cuentas... Creo que de esa forma como el id es distinto si que te mostraría solo los 5 primeros registros, yo lo he probado y es así.
Un saludo
Txarly