So I was waiting till plus came out before I mentioned the global event changes as I worked them out a few weeks ago (sorry but it was a choice I made). I've tested all 50 original global events and I've worked out what most of them do. I should point out that you shouldn't delete any of the entries - just change the event_type to 0 from 9999. This way when you play A you can just adjust them back to 9999 to make A work properly (as if you change them for 20, it will break things in A). Also, the id numbers of these global events are important - you can't just add a row to replace one you've deleted, you need to make sure the id is the same as the one you took out. Which is why I suggest not deleting the row.
Here are the rows that do things:
4 - Demo lesson on/off (with hex not edited)
30 - DDR Selection on/off
32 - KAC 8th Event on/off (This is used in A to unlock the KAC songs)
35 - Dan/Class removed from login/logout (didn't test gold to see if it removes the courses though)
36 - Course mode removed
42 - Golden League removed from login/logout (No, it doesn't enable the league - though it may disable the folder if that ever gets worked out)
47 - Finale on/off
I would say that I think multiple entries control some of the features so I'm guessing other entries might do similar things as the ones I listed.
The reason that the "free first play" doesn't go away with the setup is because there's no event put into the user events table to say it's not the first play anymore - so I assume that if the event was worked out, that could be done without needing to change settings. In the original butterfly version, the unlocks xml file set a value called is_new to 0 so the game wouldn't show that.
@topet2k12001 would you know how to work with immutable lists in java? I think that may be the best solution for dealing with the Extra Savior songs as there will be around 557 entries needing to be added on a per-user basis and I think the best method would be to auto-add them like the Baby-Lon event is added to the events table rather than having to manually insert them for each user.