Antwort
Dein Fehler: DISTINCT bezieht sich auf alle Select-Felder -- also, wenn das Datum-Feld unterschiedliche Werte hat, dann werden all diese Sätze zurückgegeben.
Lösungsbeispiel:
SELECT `nach` , `von` , max(`datum`) , min(`datum`)
FROM `nachrichten`
WHERE `nach` LIKE 'Administrator'
GROUP BY `nach` , `von`
ORDER BY max(`datum`) DESC