Por favor, intente esto:
SELECT CAST(AVG(start_date + (IFNULL(end_date,start_date)-start_date)/2) AS DATETIME) AS average_date FROM TableName
Si las fechas se almacenan como marca de tiempo, la consulta anterior proporcionará el tiempo promedio entre el inicio y el final de todos los registros.