If you don't include $args then query strings will not be properly parsed (CakeRequest::$query will always be empty), although the $uri seems to be unnecessary. It does work as written however.

On the =404 thing, after checking my error logs, it seems that Cake makes no especial provisions for where PHP code can be executed from, but there may be restrictions on what file extensions fastcgi will process.