The Add Join docs say:
Because many geoprocessing tools do not support data with duplicate object IDs and processing such data can produce unexpected results, it is recommended that you first copy the joined layer to a new feature class using the Export Features tool. Then use the new feature class as input to other geoprocessing tools.
If 1:M join layers are not an acceptable input, then an error should be thrown rather than accepting invalid data and producing incorrect results.
Can geoprocessing tools be enhanced so that they disallow 1:M join layers, where applicable?