Okay, I was finally able to fix this.
The problem
I run multiple web applications each in a own virtual directory under the same IIS website. It turned out that adding existingResponse="PassThrough"
to the web.config only works partially in virtual directories. Without that setting I never get any ColdFusion error and instead I always see the IIS 500 error. If I add existingResponse="PassThrough"
in the web.config of a virtual directory, ColdFusion errors are only forwarded if you access the site without calling a .cfm script directly (for example: example.com/ instead of example.com/index.cfm).
The solution
The solution was easy. I just had to add the existingResponse="PassThrough"
setting to the web.config of the root IIS website aswell and everything is working.
I think this is a bug in IIS 8 and 8.5 since I double checked that on my IIS 7.5 server and I didn't had to add the property on the root website.