VMultiUpload.submit() contains this line:
} else if (maxFileCount != null && filedetails.size() >= maxFileCount) {
This means if you set maxFileCount = 1 and 1 file is selected, it thinks that's too many files!
Should be strictly greater than, not greater or equal.
And yes, it's a multi-file upload and I'm limiting it to one file for a special case. I needed drag and drop.