add_rewrite_rule ignoring other params than the “p” param

It sounds like the plugin expects there to be a get param.

Your rewrite-rule is removing the get-param before it can be used by the plugin.

If the plugin hasn’t been updated for a long time (it’s abandonware) then you can go through the plugin and replace the get-param with the portion of the url which would have been the get-param. Just make sure to prevent the plugin from updating after you’ve made your edits.

If you add the following

function custom_add_rewrite_rules() {
  add_rewrite_tag('%query%','([^&]+)');

  add_rewrite_rule(
      '^something-here/([\d]+)$',
      'index.php?p=10219&query=$matches[1]',
      'top'
  );
}
add_action('init', 'custom_add_rewrite_rules');

& then replace
$_GET['query'] &/or $_REQUEST['query] with get_query_var( 'query' ) in the plugin you’ve described, that should be enough to do the trick.

Stephen Harris sums it up nicely in the answer here