As @TheDeadMedic said, you’ve to work like that. in the default loop like:
while( have_posts() ) : the_post
endwhile;
in this case, the loop is running with the default $wp_query
variable. But as you are running custom queries, you need to use while( $query_obj->have_posts() ) : $query_obj->the_post();
like that
But while logged in and logged out, you shouldn’t get different results :S