Custom metabox fields not saving when limited to a certain CPT

SOLVED!!

There was a separate check for CPT needed for the saving to work. So the conditional code now stands at:

    function set_options() {
parent::set_options();
global $pagenow;
if ( isset( $_GET['post_type'] ) 
    && $_GET['post_type'] == 'session' 
    && 'post-new.php' == $pagenow || isset( $_GET['post'] ) 
    && 'session' == get_post_type( $_GET['post'] ) 
    && 'post.php' == $pagenow || isset( $_POST['post_ID'] ) 
    && 'session' == get_post_type( $_POST['post_ID'] ) 
 ) { 
        // do your metabox options thing - same code as above 
}}

And now everything works as it should. It was the $_POST['post_ID'] that was needed.