Will placing custom templates in sub directory break any native WordPress functionality

Since WP 3.4 page templates can be stored in theme root folder or direct sub-directoryr, that is no problem. But rename page templates, which include moving files to other directories, will unassign that page templates for all pages currently using it.

To reassign the page template, simply edit the page, and reselect the desired template.

About the get_post_meta( $post_id, '_wp_page_template', true );, if the template file is under “mytheme/sub-dir/templae-file.php”, the _wp_page_template value should be “sub-dir/template-fie.php”. Using basename leave only “template-fie.php”; you may have reasons to need only the name of the file but it is not the correct value for _wp_page_template, so it is not broken.