Just a few comments.
The first one is your usage of
if(!session_is_registered('myusername'))
which when checking the manual says:
Note: If $SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use isset() to check a variable is registered in $SESSION.
My second comment is that it would be good to print the whole session variable, i.e.
session_start();
print_r($_SESSION);
just to get a feeling of what is inside the session variable.
And my last comment is bearing into NogDogs question,
did you do a session_start() on each page that is writing to and/or reading from the $_SESSION array?
I am not seeing any session_start(); in the section where you are assigning $SESSION['mag_date']
$mag_date = $_POST['mag_date'];
$mag_date = str_replace('/',"",$mag_date);
$_SESSION["mag_date"] = $mag_date;
but this is maybe done in the background...
Other than this I don't know what you can check into.
Maybe put in a print_r after mag_date is assigned
$mag_date = $_POST['mag_date'];
$mag_date = str_replace('/',"",$mag_date);
$_SESSION["mag_date"] = $mag_date;
print_r($_SESSION);
session_write_close();