Hi Dan,
Interesting MIDI generator!
The problem seems to be that IIS is returning the 404 directly and not handing the request to asp.net so it is not able to use our internal 404 page.
It seems strange though since you do have extensionless urls working and those don't correspond to files on disk but IIS is not returning a 404 and is handing the request to asp.net. It almost seems as if the PageNotFound.aspx itself is not found.
Are you using an integrated app pool?
Have you made any changes to Web.config?
I would clear the mojoportal log under Administration > System Log then cause a 404 and see if anything gets logged before IIS returns the 404
Hope that helps,
Joe