MacOS does something stupid on the Samba share Batocera exposes - for every file uploaded, it creates another file with the same name, but beginning with ._. MacOS does this to store metadata for the original file. The issue, in this case, being Batocera doesn't need these files.
Even worse, Batocera will populate the metadata files thinking they are ROMs. This creates a mess in the game library.
Every time a new file(s) is uploaded, run the following commands BEFORE updating your game lists.
To find and delete all files beginning with ._, use the following find command:
find /userdata/ -name "._*"
Once you have confirmed the listed files are truly “junk”, delete them using another find command
find /userdata/ -name "._*" -exec rm {} \;