il cambio formato penso debba essere fatto dopo il multisort
non credo proprio.
Il multisort riordina gli array DOPO che sono stati popolati dei loro conteuti.
E' necessario prima definire i contenuti, comprese le date, e poi queste vengono riordinate assieme agli altri campi.

Ritengo più probabile che il problema sia altrove.

Il fatto è che con le ultime modifiche l'ordine viene fatto in base all'array $data, che non è più quindi anno/mese/giorno ma bensì giorno/mese/anno: quindi vengono ordinati per giorno, poi per mese, poi per anno, cioè con un ordine che non è cronologico.

La soluzione?

Usare un array di appoggio:

Codice PHP:
<?PHP 
$dir
="directory_immagini"
$d dir($dir); 
$i=0
$z=0
while (
$entry $d->read()) { 
if(
$entry != "." && $entry != ".."

$i++; 

$nome[$i]=$entry
$ordine[$i]=date("YmdHis."filectime($dir."/".$entry));
$data[$i]=date("d/m/Y H:i:s."filectime($dir."/".$entry));
$url[$i]="<a href=\"$d->path/$entry\">".$entry."</a>
\n"


$max=$i


array_multisort($ordineSORT_DESCSORT_NUMERIC$data,$nome,$url); 
//array_multisort($nome, SORT_DESC, SORT_NUMERIC, $data); 
while ($z<$max 

echo 
$nome[$z]." ".$data[$z]." ".$url[$z]."
"

$z++; 

?>