Delete query won’t run

I see no reason why $_POST['delete'] should not be set assuming there are no page redirects involved. I can’t tell from your code if that is the case, but it superficially appears not to be. I do see other potential problems.

  1. You are setting your form action to an empty string. While that
    does sometimes work, it can sometimes also cause trouble. Set that
    explicitly. I believe that an empty action is also invalid, at
    least in HTML 5 and I think HTML 4 also.

  2. Depending on context you may need global $wpdb; before you can use
    $wpdb. It is safer just to include that part than to assume it is
    available.

  3. If app_id is a numeric column type you _might be causing yourself
    trouble by quoting $delete_id.
  4. You are passing unvalidated/unsanitized user data into the database.
    That is very dangerous. As is, a user could delete rows from your
    table with very little effort. POST is not safe. At the very, very
    least use $wpdb->prepare:

    $wpdb->query($wpdb->prepare("DELETE FROM $wpdb->rc_vol_adopt_apps WHERE app_id = %d",$delete_id));
    

    That said, I usually run my own checks to make sure the data is what it should be.

  5. $wpdb->query can return both 0, no rows effected, and false,
    query failed. PHP will interpret 0 as false so you shoudlb e
    checking the output with if (false !== $adoptees_delete) and not
    with the simple, and potentially notice throwing, check you’ve
    got.

  6. It is better to process the POST before the form then unset the
    POST data or, much better, redirect the request back to itself.
    Otehrwise, you can get problems with multiple submissions of the
    form.