There is a useful existing function that allows you to populate a new Line Style or Point Symbol tables with current selection data. However if the symbol or linestyle is governed "ByLayer" or "ByCode", it will not populate the symbol/linestyle used.
Using ByLayer or ByCode keeps the data current and gives the expected output. It is a critical feature. Being able to generate a table with data from these layer is a small frustration that often results in manually populating tables.
What i think nirvana would be is to create tables ByLayer. e.g. you select layers or codes and have a right click menu option or option under tables to generate linestyle or symbol tables from layers. This is then dynamically linked to the layer. So if you change the symbol/linestyle/colour in the layer, the table updates.
from a quality assurance perspective it would mean that changes happen without the conscious action of the user. The same reason why I like using bylayer or by code for all attribute data.
I agree, this would be very handy