En principio lo que manda es la cookie .. si existe un SID en ella válido se usa este .. sino se usa el que pueda haber incrustrado PHP automáticamente vía session.use_trans_sid = 1 (en los tags HTML que define: url_rewriter.tags) .. Pero, como veras PHP no lo hace en algunos casos automáticamente como por ejemplo en un header() "de location" .. tampoco lo hace cuando usas javacript para redireccionar (un window.open .. window.location .. etc) ni en etiquetas HTML como <META de refresh ..>
Por otro lado .. PHP recomienda el uso de la propagación en Cookies por seguridad:
http://www.acros.si/papers/session_fixation.pdf
(documento recomendado en
www.php.net/session (versión en ingles)).
Ahora .. si tienes problemas concretos con la propagación del SID en cookies por que esta no se crea correctamente (bloqueada por configuración de tu navegador .. de firewalls, antivirus y temas vários ..) es otro tema que habría que ver .. PHP en su php.ini define algunas directivas sobre como creará esa cookie al usar session.use_cookies = ON o incluso el forzado exclusivo de uso de cookies para la propagación del SID con session.use_only_cookies = ON
Un saludo,