ciao
io ho (forse) risolto così:
$result= mysql_query("SELECT * FROM tabella WHERE tabella_datainizio<='$datafine' AND tabella_datafine>='$datainizio' AND tabella_id!='$id'");

era più semplice di quanto che immaginassi!

Dico 'forse' perchè non l'ho ancora testato del tutto

Spero che ti torni utile