Many "random" errors on php sessions are caused when tring to read the
same file from two different process (and one has the session's file
locked).
Have you tried closing the session for output (leaving it open only for
reads) with session_write_close()? I solved many session issues witht
this.