When use_hash_multivalue_in_request is activated for the Catalyst app, the request parameters are available only as a Hash::MultiValue. That makes $request->params->param('...') return only the first item when the parameter was set multiple times. Calling $form->process($c->req->params->as_hashref_mixed) seems to fix the problem.
Am I missing some option or is this really a bug? Then I would try to fix it.