I typically run into problems like this when there is a meta parameter. Similar to the linked parameter, if you have any parameter that does something like 'reset to default', 'randomize settings', etc., this can cause problems with validation. Actually, anything that alters another parameter within OnParamChange() can have validation issues.
Many times, this is the cause of intermittent AU validation fails, because sometimes the parameter are reset and OK during validation, and sometimes not.
To test things, I would add this to every parameter
Code:
GetParam(param)->SetIsMeta(true)
See if that fixes the problems with other people validating the plugin.