Hola, Jaime.
Gracias por la ayuda. Al final el htaccess quedó así: ErrorDocument 404 /404.php
El tema es que, si bien funciona con todas las páginas, no lo hace si uno modifica las variables en la URL puesto que, tecnicamente, la página sí existe (y procesa el hecho de que no haya un registro con la ID especificada). Ejemplo:
http://localhost/evento/21/nombre
Si yo pongo
http://localhost/evento/999/nombre no me lleva al 404.php sino a "Este evento no existe en la base de datos", un error especificado en la página real "eventos.php" usando php y mysql.
Espero darme a explicar! :)