yo,
das aktuelleste foto anhand seiner id festzumachen ist eine schlechtre lösung. besser dafür sind datumswerte, bzw. dein timestamp. auch deine abfrager ich fehlerhaft. das liegt daran, dass nur mysql bei dieser abfrage keine fehlmeldung ausgibt, alles anderen dbms würden das nämlich tun, weil deine gruppierug über alle nicht aggregat-spalten fehlt.
du könntest die abfrage mit unterabfragen lösen, diese gehen aber erst ab mysql 41. und höer, fragt sich also, welche version du benutzt. desweiteren ist zu ermitteln, ob es immer mindestens ein foto für einen user gibt, bzw. ob nur die user ausgesucht werden sollen, die auch eins besitzen. dann kannst du einen inner join anstelle des outer joins verwenden.
Ilja