Ok, everyone, sorry to have bothered you with this. Turns out it didn't have anything to do with modperl or apache, but that I was just missing some stuff from CGI::Simple. By default, CGI.pm (which I was used to) enables file uploads of unlimited size; by contrast CGI::Simple's default is to disable file uploads. It's even in the man page. I guess I must have glossed past that part somehow. My apologies for taking up your time.
Jacob Fugal
(Stas: I didn't file a bug report, since from the beginning I thought it was a configuration issue but didn't know which, so you don't need to worry about hunting it down and canceling it)