I submitted this issue first to Rack, was redirected to Ramaze, now I'm submitting here it because I only see the issue when using Ramaze + Rack + Mongrel and not with webrick.
Basically when running Ramaze in :live mode (which doesn't use Rack::Lint), attachments in multipart data get parsed over and over and this creates numerous temporary files and sometimes returns the wrong filename in the Ramaze controller. If Ramaze is run in :dev mode (Rack::Lint enabled), everything works as expected. This appears to only be the case when using Ramaze with Mongrel and not with other webservers (at least not webrick).
Ramaze 2011.01.30 + Innate 2011.01
Please see the Ramaze issue for full description, history, and a test case: