Cita: yo no voy pasando explicitamente el SID entre paginas ...
Si tu no lo haces explicitamente es que TU configuración de PHP lo está haciendo.
Ya sea en el URL re-escribiendo ciertos tag's HTML como links, formularios y algunos más:
session.use_trans_sid = ON
(PHP no inserta el SID automáticamente en redireccionamientos como header("Location: ...") ni en javascript (window.open() .. window.location ... etc)
O en cookies:
session.use_cookies = ON
Cita: cada vez que hago un session_start, pilla la sesion creada anteriormente no?
Cuando tu usas session_start(), el sistema de sesiones "mira" si ese script recibe un SID valido propagado a el, ya sea mirando en el URL .. o en las cookies. Se revisa si el SID asociado a tu sesión sigue válido y si es así se continua usando y a su vez propagando según el modo que uses (a mano explicitamente, o automáticamente por los dos métodos mencionados). Si el SID no es válido (o la sesión asociada expiró) o no se recibe ningún SID propagado .. se crea uno nuevo (una sesión nueva).
Un saludo,