The ASP.NET Request Filtering is incompatible with the post cache substitution being use by your app. It also sounds as if post cache substitution is required for your ImageResizer module, which is one possible reason it no longer works when you switch to classic pipeline mode.
If you visit the “Troubleshooting” section of our docs page on Page load timing in .NET (there is a broken quick link on that page and I have a bug ticket in to fix that), we have the following information:
If you receive an InvalidOperationException that states “Post cache substitution is not compatible with modules in the IIS integrated pipeline that modify the response buffers,” then you must manually instrument page load timing (sometimes referred to as real user monitoring or RUM) rather than using the auto-instrumentation. In this case, set browserMonitoring to “false” in the newrelic.config file found in the New Relic .NET Agent installation directory, and follow the instructions above for Manual Instrumentation.