Ok, I figured out a few things.
1) wp-load.php is key to setting up wordpress and is in fact being loaded in the admin-ajax.php file using require_once();
2) Somehow, within my function in functions.php, the comments_template() is not even being recognized as a function. But if I force the comments.php file using include('comments.php'); then it actually processes that php code.
3) Even still when it processes that php code, it does not recognize the global $post, $user_ID and $user_identity variables so I have to re-globalize them locally to get stuff to work using…
<?php global $post, $user_ID, $user_identity; ?>
I still have no idea why this is all happening. Maybe something to do with the load not getting the comments-template.php file included or something.
I’m surprised nobody has ever had this issue, but I can’t find it anywhere.