Flag Friend (D7): add link in block
I think the method below should do the trick. Don't think it is available in the flag_friend module's API.

/**
 * Gets the friend/unfriend link for a given user.
 *
 * Depending on the flagging user's current friend status with the target
 * user, the label of this link will show up as 'Add friend' or 'Remove friend'.
 *
 * @param stdClass $account
 *   Target user object. Defaults to the currenly logged in user.
 *
 * @return mixed
 *   FALSE or 
 *   Formatted flag/unflag link otherwise.
 *
 * @see flag_friend_flag_default_flags().
 * @see flag_create_link().
 */
function flag_friend_get_friend_flag_link($account = NULL) {
  if (!isset($account)) {
    global $user;
    $account = $user;
  }
  return flag_create_link('friend', $account-&gt;uid);
}


Do note that the flagging user is assumed by default to be the currently logged in user which fits your use-case anyway.

Access check happens implicitly. So, if the current user does not have access to friend/unfriend a given target user, then this method will return FALSE.