Ответ нашелся. Если нужно, чтобы работал и этот плагин и mod_rewrite с внутренними редиректами, то достаточно в коде плагина сделать исключения для определенных УРЛов, на которых плагин не будет работать.
Поясню на примере.
Если, например, нам нужно создать правило для mod_rewrite :
RewriteRule ^cat/(.*)$ index.php?id=$1 [L,QSA]
и чтобы это правило корректно работало и плагин не мешал делать внутренние редиректы, то в начале кода плагина вставляем следующее:
$url = parse_url($_SERVER[REQUEST_URI]);
$url_array=explode("/",$url[’path’]);
$link=array_pop($url_array);
$path=implode("/",$url_array);
$domain = substr($modx->config[’site_url’], 0, strlen($modx->config[’site_url’])-1);
сразу после этого добавляем:
if ($path!="/cat") {
// а тут код самого плагина
}
Получается, что плагин сработает только когда путь не равен /cat.
Т.е. /cat/1 , /cat/2 и обработаются mod_rewrite корректно.
Конечно, немного криво, но зато работает.