A 409 is a conflict.
There is no info on 409 errors from Microsoft - even there official
list of IIS status codes do not mention it.
http://support.microsoft.com/?id=318380,
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/6002db2b-59c6-48cd-a060-9394ad4de596.mspx?mfr=true,
etc
They seem to think they do not exist. :)
I think could occur if IIS cannot find/access the error page file. You have set up custom error pages for all 404s and the pages do not exist or cannot be accessed generating a 404, etc, etc entering some type of conflict or loop. .
Does the php page for your error open up ok normal going directly to the URL?
Does a basic html error page work too?
Have you setup redirections for other custom errors, 403, etc? (it could be going from a 404 (not found page) to a page it cannot access say a 403 and the 403 pages have a custom error page which they cannot access and the loop/conflict begins.
So remove all other custom errors if you have them and just have a 404 custom error page as a html pages and progress from there. One step at a time.