Typically if you can set columns, you can add the column for 'last updated by'.
I am not in a seat right now and codes are different windows from the Gantts, but I have found this useful many times.
The real answer is to remove add/remove codes from users except admins. Code changes are dealt with as requests by schedulers. Permissions are very selectable. Any changes are then logged by admins and they have the chance to keep out redundancies or stupid codes from being added.
Deleting Global Layouts should beyond the purview of regular users. Users can add or delete Views in their profile, and they can share new layouts with other users.
Check your logs for nailing the guilty party. No logs? Start logging.
To restore the lost layouts (if they are gone from the EPC), open an archived project and copy them from it.