Con:
include_once
require_once
No debe de haber ningún conflicto ya que si un archivo es añadido varias veces con una de las 2, sólo tomará en cuenta la primera inclusión ignorando el resto.
Ahora con:
include
require
Sí que habrá conflicto.
No obstante en el manual podemos encontrar esto, que aclara un poco, aunque no del todo, el comportamiento que tienes:
Cita: Si hay funciones definidas en el archivo incluido, se pueden utilizar en el archivo principal independientemente que hayan return antes o después. Si el archivo se incluye dos veces, PHP 5 arrojará un error fatal ya que las funciones ya han sido declaradas, mientras que PHP 4 no se queja acerca de las funciones definidas después de un return. Se recomienda el uso de include_once en lugar de comprobar si el archivo ya estaba incluido y hacer el retorno de forma condicionada dentro del archivo incluido.
Resumiendo en php 4 le da igual.
Si puedes mostrar exactamente el código de como lo estas haciendo, quizás podamos indagar más en que esta sucediendo.