O melhor seria evitar gatilhos e verificar se existe antes de inserir
IF NOT EXISTS (SELECT TOP 1 1 FROM MyTable WHERE @InsertedEndDate > begin_date AND @InsertedBeginDate < end_date)
BEGIN
--do actual insert/work
END
É uma verificação simples para encontrar a primeira sobreposição. O Select TOP 1 1 é um truque para evitar realmente buscar os dados, ele retornará assim que corresponder a uma linha que se sobreponha ao intervalo de datas que você está realmente tentando salvar