I want to do a spatial query of parts with a model with GetPartBoundsInBox. The model doing the query has unions, and the models with parts it is querying around have unions as well.
Will there be any lack of detection due to GetPartBoundsInBox not considering unions for the querying model and or not detecting models which have unions?
It does consider unions, it just does not consider the physical shape of them. A good alternative for you would be game.Workspace:GetPartsInPart(); which is a common replacement to the now deprecated Region3.
So just to confirm, I can use :GetPartsInPart() by iterating over all parts in my model, and calling :GetPartsInPart for each of these parts in the model, alongside excluding the whole model itself to see if the model is touching another model?