It looks like (from just experimenting) that if a user blocks all their cookies the session id is still automatically passed by the following...
a normal html link ('<a href=newprogram.php...)
a submit from a form('<form method action=newprogram.php...)
So I have not changed any of this code.
However, the seesion id does not get passed by the following...
php header ('header('location: newprogram.php')
javascript href ('this.location.href=newprogram.php')
So I have added the PHP session id to all of these occurrences in my programs. This seemed to have solved my problems when I blocked cookies on my browser, but something else is still not working and I cannot simulate it on my machine.