Pues se me ocurre algo así:
Código SQL:
Ver originalSELECT CONVERT(CHAR(8), fecha, 108) AS cuartoHora,
MAX(CAST(valor AS CHAR)+'_'+CONVERT(CHAR)CONVERT(VARCHAR(),fecha,111)) AS codificacion
FROM tabla
GROUP BY CONVERT(CHAR(8), fecha, 108)
de esa manera obtienes todos los cuartos de hora posibles y te quedas con el que tenga el valor máximo. Como tienes concatenada la fecha, solo tienes que "descodificar" y ya tienes lo que quieres.
Como fallos a la query que te he puesto, al hacer el cast del valor, tendrías que rellenar con ceros a la izquierda ya que sino el max te cogería un 2 como mayor que in 10 (si pones 02 no pasaría eso).
No se si me he explicado demasiado, pero, en cuanto tenga tiempo, completo la query y la pongo con comentarios. Cualquier duda me comentas.
Un saludo