tedster - 10:52 pm on May 8, 2010 (gmt 0) [edited by: tedster at 11:03 pm (utc) on May 8, 2010]
The 301 redirect is not a 404 status. The browser isn't told that the URL does not exist.
g1smd, I've seen this kind of custom 404 page handling on many websites, and it has not caused them trouble. As long as the redirect target page returns a 404 status, then this approach has worked well in my experience. It comes up more on IIS servers, rather than Apache.
Problems have come because Microsoft certification used to instruct using 302 to a 200 for custom error pages. But with a 301 or even a 302 redirect, Google does "get it" that the original URL is bogus.
Even more - and especially when the site is hosted on an ISS server - googlebot often tests for "soft 404" handling where the final page is a 200 OK status. Google both compensates for the poor webmastering and even creates a warning in Webmaster Tools.
The important thing, in my opinion, is NOT to serve the content of /keyword-title/ when /keyword-title/?q=spam-keyword is requested.
[edited by: tedster at 11:03 pm (utc) on May 8, 2010]