After all it turned out that it's a problem of configuration. Thanks to Carsten.
Last snippet of the mail thread thread http://marc.info/?t=120473411300003&r=1&w=2
<map:pipeline id="test-nocache" type="noncaching">
<map:parameter name="outputBufferSize" value="0" />
<map:read src="/home/felix/tmp/livecd-i686-installer-2007.0.iso" >
<map:parameter name="buffer-size" value="8192" />
The output buffer only specifies the size of the buffer for writing the response. This is not directly related to caching. You might increase performance by buffering.
The buffer is in both case unlimited because of allowing proper error handling.
If we don't have it yet, we should add these things to a "tuning cocoon" page. I would turn off infinite buffering in production in all case and set a fixed buffer size (like 8192). For reader pipelines I would turn off buffering completly.