$query3 = "SELECT Max(id_DatiCliente)FROM DatiCliente where id_DatiCliente = id_DatiCliente";
Il campo id_DatiCliente non viene estratto, ma viene estratto MAX(id_DatiCliente). Mettici un Alias...
$query3 = "SELECT Max(id_DatiCliente)AS id_DatiCliente
FROM DatiCliente
where id_DatiCliente = id_DatiCliente";
anche se mi sfugge la logica della condizione WHERE.