After I edited the web.xml and mapped the file extensions to IIS, the change worked on the development server but not the production server. The Server Error 500 basically tells you that CF isn't picking up the request. So I re-ran the Web Server Configuration Tool. I removed the CF mapping to the server and then recreated it. And Bingo, it worked.
Stephen Erat has a good run down of how it should work (minus the use of the Web Server Configuration Tool). Note that he removes the ID from the servlet mapping.