A few comments:
The NI Vision Assistant tool is really helpful for this; it will allow you to open a raw image on your PC and build and tune your filtering process.
I've observed (but haven't confirmed in code) that your first call to Camera::GetInstance() is what initiates your connection to the camera, however it takes some time before you can get an image; you should do this in DisabledInit to ensure that when auto begins, the camera has images ready. (we use a framerate of 5, so it could be due to this as well, but the delay seems > 1sec)
You don't have a convex hull operation; you will want to do this to combine smaller particles before you get particle reports.
You can use
Paint.net to inspect the HSV values, this can at least give you a rough idea of the hue and saturation ranges to use (since you are currently using an HSL filter). Keep in mind the numeric ranges for paint.net are different from those in the threshold
(ie paint.net H range is 0 to 360, S range is 0 to 100, but I believe threshold is 0 to 255 for each).
If you are using 320x240 (lower resolution than the default 640x480), the default value for #define AREA_MINIMUM is not appropriate, you need to divide that value by 4 since the resolution is halved in each direction.
You don't show any delete operations in your code snippet, so the memory you use for each image is leaked/lost; not a major problem for one image, but it would be a problem if you run autonomous too many times. The following need to be deleted in if you are using the example code: image, thresholdImage, filteredImage, convexHullImage, reports, and scores. Scores should be deleted just before you leave the if condition where scores = New is called, filtered image and reports should be deleted at the end of your analysis, and the rest should be deleted after they are processed.