Lo mejor sería evitar los desencadenantes y realizar una verificación con si existe antes de insertar
IF NOT EXISTS (SELECT TOP 1 1 FROM MyTable WHERE @InsertedEndDate > begin_date AND @InsertedBeginDate < end_date)
BEGIN
--do actual insert/work
END
Es una simple verificación para encontrar la primera superposición. Select TOP 1 1 es un truco para evitar obtener los datos, regresará tan pronto como coincida con una fila que se superponga al rango de fechas que realmente está tratando de guardar