non saprei, avevo trovato una discussione che però è incentrata sul NOT EXISTS
ma anche l'idea del count non è male, visto che l'effetto è lo stesso
in effetti mi ero dimenticato di includere il controllo sull'oggetto, la select sarebbe una cosa del genere :
SELECT DataInizio,DataFine FROM tabnol
WHERE prodotto=NEW.prodotto AND (DataFine>NEW.DataInizio AND DataInizio<NEW.DataFine)
faccio qualche test e vedo come fungono...