If Meta Checkbox is checked, do something?

You’re setting a value whether it’s checked or not with this line:

$chk = ( isset( $_POST['special_box_check'] ) && $_POST['special_box_check'] ) ? 'on' : 'off';

The value is going to be either on or off, so your if condition is always true, since it always has a value.

You could change it to save only if it’s checked, or delete it if it’s not. That way your condition will work, and you won’t have extra meta entries just to save the off state.

if ( isset( $_POST['special_box_check'] ) && $_POST['special_box_check'] ) {
    add_post_meta( $post_id, 'special_box_check', 'on', true );
} else {
    delete_post_meta( $post_id, 'special_box_check' );
}