@Anonymous
I found some additional issues with your max file that may have impacted your attempts at using Proboolean. I was able to get it to work by fixing all of the problems I observed (see final image below).
- Scale Issues -- The Plate object that you are trying to perforate had a much larger scale than the array of cylinders object (first image). Generally, you should always check the scale of objects imported from other applications (and your own modeled in max if you scale at the object level). All objects in your scene should have a scale value of 100% in all dimensions if you want to avoid problems with various modifiers and Proboolean. In this case, the scale of your plate was 99999.992% while the cylinders object was 100%. So you need to go to the Utility Panel and with the plate object selected, Reset XForm > Reset Selected and then Collapse>Collapse Selected. The scale should be reset to 100% (make sure that “World” or “View” are selected as the Reference Coordinate System.

- Objects located very far from the origin (See next Image). While I cannot definitely say that this impacted your proboolean issue, it definitely affects viewport performance and the accuracy of calculations. Select both objects and enter $.pos = [0,0,0] in the listener window and hit enter. This will move them to the origin and eliminate any potential ill effects from being so far from the origin. Alternatively, for each object, you can right click on the x,y, and Z spinners I have circled which should zero them.

- Unwelded vertices in both the plate and the cylinders. Proboolean does not deal well with meshes that have unwelded vertices. So select all of the vertices in each object and weld with a low threshold value which depends on the scale of your model. You should see a significant reduction in vertices reported after the weld operation in both cases.
After doing the above steps, I separated the cylinders into individual objects ( as per @leeminardi suggestion) by running a script called Object Detacher which separates the all of an objects elements into individual objects. (available here as part of a useful collection http://www.neilblevins.com/cg_tools/scripts/3dsmax/soulburnscripts.htm
Then I selected your plate object and then Proboolean and then "Start Picking" and from scene explorer (layer view, because I placed all of the detached cylinders in a separate layer) and double clicked on the layer containg all of the cylinders. You have to be patient, because even with all of the corrections performed above you have over a thousand cylinders for proboolean to subtract. The process took about 20 minutes or so to complete on my machine. Below is the result.

Hope this helps you out further in addition to the suggestions by @leeminardi and @oliver .