Your problem is almost certainly that you’ve created a second query. That query is going to be out of sync with the main query, hence you are getting unexpected results.
From what I can see, you aren’t really doing anything that the main query doesn’t already do, so I think you really only need the Loop itself.
get_header();
if( have_posts() ) {
while( have_posts() ) {
the_post();
include( get_template_directory() . '/includes/templates/search_result.inc.php' );
}
wp_reset_query();
}
?>
<a id="ld-more" href="#search">Load more search results</a>
<?php
get_footer();