Bueno he solucionado parte del problema,
Código:
# Redireccion url-amigable antigua
RewriteCond %{QUERY_STRING} &?id=(.*)$
RewriteRule ^es/ficha/(.+)/(.+)$ /es/ficha/$1/%1? [R=301,L]
pero si a parte de "id" me vienen más parámetros en el query string, no forma correctamente la url final, me queda algo así:
es/ficha/param1/id&arg1=1&arg2=2
se come el separador "?"
PD: no han movido todavía el tema al apartado de Apache y no veo la manera de moverlo