Can I check to see if an object is used in another objects modifier?
I thought that objects used as a target in a modifier had their user count incremented but apparently not.
I'd use a script for that :
You can loop through all objects and all their modifiers and check what objects are linked to modifier fields. The following script will deselect all objects and select only objects that appear inside the target field of a modifier.
import bpy

bpy.ops.object.select_all(action='DESELECT')
# Deselect all objects

for obj in (o for o in bpy.data.objects if hasattr(o, &quot;modifiers&quot;)):
    # Loop through all objects that actually support modifiers
    for mod in obj.modifiers:
        # Loop through all modifier(s) of that object
        for attr in dir(mod):
            # Loop through all attributes of that modifier 
            target = getattr(mod, attr)
            # Get the value of that attribute field
            if isinstance(target, bpy.types.Object) and target is not None:  
                # Filter in only attributes that link to an Object          
                target.select_set(True)

How to run a script in blender
Note :
On some instances object fields retain their object link even when the linked object is not actually used.
Example : On the boolean modifier, if you first use an Object as a target, then set the type to Collection, the link to the Object still remains. If you switch back to the Object type, you see that the target is still filled in. You'd have to add in special use cases for that in the script if that behaviour bothers you.