Custom fields: my custom checkbox area doesn’t seem to work

I went through all this yesterday!

According to the codex there must be a post id given to current_user_can to check ‘edit_post’, so your capability check should be:

if( !current_user_can( 'edit_post', $post_id ) ) return;

Also, your final two lines should be more like this:

$chk = isset( $_REQUEST['page_title_off'] ) ? 'on' : 'off';  
update_post_meta( $post_id, 'page_title_off', $chk );  

This should turn the post meta on or off depending on whether the checkbox was ticked.