credo che la tua sia la soluzione migliore, imposto la select come segue :

codice:
SELECT COUNT(*) INTO counter FROM tabella
WHERE prodotto=NEW.prodotto AND (DataFine>NEW.DataInizio OR DataInizio<NEW.DataFine)

ho corretto anche l'operatore logico, così dovrebbe andare...