Buongiorno,
ho risolto.

Questa parte di codice risiede nella home, dopo aver effettuato il login:
Codice PHP:
<?php 
date_default_timezone_set
('Europe/Rome');
$query 'SELECT UltimoAccesso FROM Docente WHERE Login=\''.addslashes($_SESSION['login']).'\'';  
$result $__MYSQLI->query($query);
$ultacc '(n.a.)'
if (
$result->num_rows 0
while( 
$now$result->fetch_assoc() )

$ultacc $now['UltimoAccesso'];} 


print 
"Ultimo accesso avvenuto il ".date('d-m-Y',strtotime($ultacc))." alle ore ".date('H:i:s',strtotime($ultacc))."
"
;

?>
Mentre quella relativa all'aggiornamento dell'ora è inserita quando un individuo si sconnette, e proprio prima di far cadere la connessione effettuo la quey:
Codice PHP:
if (isset($_SESSION['login']) && $_SESSION['isLoggedIn'] == 'true')
{
$query 'UPDATE Tesi.Docente SET UltimoAccesso= now() WHERE Login=\''.addslashes($_SESSION['login']).'\'';
$result $__MYSQLI->query($query); 
  
session_destroy();

Per cui quando nuovamente mi logo ottengo la data e l'ora dell'ultima volta che ero collegato.

Precedentemente erravo perché la query veniva effettuata nella home ed ogni aggiornamento della pagina ovviamente aggiornava anche la data risalente al precedente collegamento. La soluzione era più semplice di quello che credevo. Mi ero fuso a gestire variabili semplici e di sessione superglobali, invece la soluzione era ai piedi della candela, come al solito.

Grazie a tutti