I was setting up a wordpress blog (latest version, 2.5) a couple of days ago, and added the great plugin Google XML Sitemaps. I wanted a static frontpage with a couple of blog posts below it, so I modified the Kubrick theme a bit (added another template to use for that page, no biggie).
When taking a look at Google Sitemaps (somewhere under Google Webmaster Tools) I found that WordPress didn't respond to non-existing pages with a 404 not found, but all my pages after each other, rather like the posts on a dynamic front page.
Again I thought - no biggie! I modified the 404.php template to begin with the following:
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
Still, no luck. Then I saw that WordPress didn't even read the 404.php page! I tried turning off the static front page and voilà, 404 works okay again.
I've searched a bit for this in the WordPress forums, but I'll report a bug ticket for them. Hopefully it will work in the next release
It only works this way if you haven't chosen a "Posts page". Maybe it's just an undocumented feature?