Hola otra vez,
Me extraña que no te funcione....
Lo probe (cree las tablas y llene con los datos que proporcionas) y, esta consulta me devuelve la información "exactamente" a como tu la quieres...
Claro, no tiene limite de numero de registros a devolver, por eso le he agregado el LIMIT 5 final...
SELECT * FROM COMENTARIOS C
WHERE idComentario=(SELECT idComentario FROM Comentarios c1
WHERE c1.idfoto=c.idfoto order by fechaComentario DESC
LIMIT 1)
order by idfoto,fechaComentario
LIMIT 5
Esta consulta toma, para cada ID de foto, la consulta mas reciente, por lo que solo recibirias - como maximo - un comentario por idfoto, ahora lo ordenas por la fecha del comentario y tienes las "n" mas recientes... No entiendo por que no te sirve....
saludos y suerte