love this plugin - thank you for writing it. i have found it was producing extra queries when i wasn't expecting it to, and they are quite complex too, so it was quite adversely hitting the site's responsiveness and processor load.
the related posts calculations are getting called a lot more than is strictly necessary.
your main filter is add_filter('the_content', 'ald_crp_content'); and ald_crp_content() calls ald_crp() -- the function doing all the hard work. But that's getting called even when all the options to insert the related posts text are turned off and when the output will never be added too.
so eg on a standard blog home page is_home() or archive page, the_content filter is called for every post that appears that doesn't have an excerpt (such as with a "more" link), and the filter only adds the extra text on is_single, is_page or is_feed.
my suggestion is rather than calc the text "$output = ald_crp();" first and doing various "return $content.$output" you do a "return $content.ald_crp()" each time - ensuring that the db runs only when the output is to be created.
FWIW, i don't want the output in the post body -- I've made a widget to show on is_single() pages instead. so to improve performance i've entirely disabled the add_filter line.