Sto lavorando su un forum in ASP.

Nella lista dei forum disponibili c'è anche il classico collegamento all'ultimo messaggio per ogni forum.

La query dovrebbe andare a prendere l'ultimo messaggio, non tenendo di conto però dei messaggi che hanno l'attributo boolean "ELIMINATO" uguale a True.

La query era questa in origine:

codice:
set rm = Cn.Execute("SELECT TOP 1 [DATAULTIMOACCESSO] FROM TF_MSGLETTI WHERE [IDUTENTE] = '"& mySessionID &"' AND [IDFORUM] = "& id &" ORDER BY [DATAULTIMOACCESSO] DESC")
ed io l'ho modificata in;

codice:
set rm = Cn.Execute("SELECT TOP 1 [DATAULTIMOACCESSO] FROM TF_MSGLETTI WHERE [IDMSG] NOT IN (SELECT [ID] FROM TF_MESSAGGI WHERE [ELIMINATO] = True) AND [IDUTENTE] = '"& mySessionID &"' AND [IDFORUM] = "& id &" ORDER BY [DATAULTIMOACCESSO] DESC")
Se faccio la SELECT interna da sola mi da i risultati giusti e mi restituisce i topics eliminati.

Però quando richiamo la funzione con questa query nella pagina non funziona.
Continua a prendere come ultimo messaggio anche uno che è stato cancellato...

Mi sapete dire se sbaglio qualcosa nella query o se devo andare a cercare altrove il problema?

Thanks