So, I know the “why” but I don’t know the “why why”. I’ve spent a good near 2 hours going through everything I can think of, however, I can’t continue on without more access to the whole install via FTP, and I know you’re not wanting to go that route right now.
The “why”. I checked a WP global that is used on the register page in question, and looked through all of its values. For some reason, it’s providing a $post variable that has what should be the “page” specified for the “Register” page. It has a post slug of “register” like expected. However, it’s providing a post ID of 0 (zero), and a post type of bp_register. And that’s where I’m baffled. I am not sure where that post type is coming from, and I don’t know why the post ID is 0.
Because of the post ID being what it is, it is simply querying for all of the comments in the site, instead of the ones associated with the queried page, which should be the “Register” page, which would have zero comments and thus nothing shown.
The “why why”. I’m not sure how to solve this part. Ideally if I were to tackle that completely, I’d make a duplicate of the whole site that I could put on my localhost server and dissect as much as I wanted until I figured it out. However, I’m doubtful that’s an option at the present moment.
Available solution that gets around this, but doesn’t technically solve it is this. We can edit the page.php template file, and have it only output the comments_template() function call if it’s NOT the “register” page. I want to get permission to add this before I touch anything, as it is your site. Just know it’d be a 1 minute thing to fix up for you.