Dunque:

1. sì, la tabella è aperta prima di effettuare l'operazione infatti anche nel codice sopraesposto la riapro nella stessa maniera.

2. all'avvio del programma, testo, nel datamoduleassenze, se le tabelle sono Active e se lo sono prima le chiudo e poi le apro altrimenti le apro solamente:
codice:
  if TAssenze.Active then
      TAssenze.Close;
  TAssenze.Open;


3. per il driver: penso sia corretto anche perchè è quello ufficiale ed in altre circostanze si comporta adeguatamente ...




Altre idee?