After all day of looking into this and experimenting, here's whet I've found:
-You can't copy custom track icons into a project for sharing like you can audio files, Ultrabeat samples, etc.
-All custom track icons are stored in ~/Music/Audio Music Apps/Custom Icons
-When you add a custom track icon using the Logic icon picker, it moves it to the above location and renames it CustomIcon_000.tiff, forcing the lowest unused number. This is why when the track icon goes missing, it displays "000?", because it's looking for CustomIcon_000.tiff.
-If you open a project with custom icons, Logic goes to ~/Music/Audio Music Apps/Custom Icons and selects for each track the exact file name with which the project was saved. This means if you send someone the project with custom track icons, whatever icon they have with that name in that location will be shown on the track (after following the next step).
-In order to get the custom track icons to display again, open up the track icon picker for a track whose icon is missing. If there's a file in the Custom Icons folder with the matching name of the CustomIcon_###.tiff for that track, it will select it for the track automatically as soon as you click out of the icon viewer (even without picking any icon).
Now, there's only one thing I can't explain:
Logic must store the project's custom icons somewhere deep in the temp files. When you assign a custom icon to a track, that icon remains on the track until the project is closed, even if you delete it from the Custom Icons folder. You can even delete the track, undo, and the icon will return. You can also duplicate the track and the custom icon will display fine on both tracks. Logic only realizes the icon is missing when a new project is opened, which is when it picks up all of the custom icons.
I hope I've inspired some of you to dive as deep into this as I have, and maybe one day we'll see a preference (didn't get it in version 10.5 ): like the one I've mocked up below.
Keep creating, people.
Edit:
I've sent feedback to Logic about this. I encourage everyone who'd like to see Apple add the functionality to include sharing a project with its custom icons to please do the same.