pues no amigo...
acabo de probar este script en mi sistema Linux y no hay errores... ¿donde? ¿cuales?
y de verdad... funciona perfecto!!
con respecto a lo de tu sesión, seguro el problema esta en otro lado... aunque, recuerda que cada ves que se ejecuta
session_start() se reinicia la sesión...
así que deberías pensar, ¿en que otros lugares ejecutas dicha función?
por lo mientras, no tienes que echar culpa a este script...