suspect that there is a variable in loop-sinlge-reply that already exists, but is not there in loop posts, so you’re getting a nil return.
I’d try hardcoding some to see if you can pinpoint.
eg look up a bbp post and see who the author is, so if post is 1126 then try
<?php bbp_author_link( array( ‘post_id’ => 1126, ‘size’ => 14 ) ); ?>
and see if that produces a result.
Or you could try
echo “bbp_get_topic_last_active_id() is “. bbp_get_topic_last_active_id() ;
to see what number that is producing at that point to know that it is doing something
if so, then you can try