The event URL was 404ing (and was not appearing on the Upcoming Events calendar) because the-events-calendar was not finding a corresponding entry in the tec_occurrences table. It was not finding this because the table did not exist. Something somewhere caused there to be a mismatch between the schema version options stored in the options table (which said that the install was OK) and the actual database schema (where the tables did not exist).
Ray, I'm copying you here because I know you've looked at the way that the-events-calendar runs its schema tools, and particularly the interaction with action-scheduler. I'm hopeful that this is just a blip with this specific site, but it could be that there's a broader issue here.
For the time being, I've written a very small script that forces the-events-calendar to run its schema repair tool:
3 $schema_builder = tribe( \TEC\Events\Custom_Tables\V1\Schema_Builder\Schema_Builder::class );
4 $done = $schema_builder->up( true );
5 var_dump( $done );
I've run it on the site in question, and the tables were created. In order to make an item show up on the calendar and when you visit the URL, I also had to force the "occurrence" to be written to the new table. I did this for https://gcheo.commons.gc.cuny.edu/wp-admin/post.php?action=edit&classic-editor&post=339 (https://gcheo.commons.gc.cuny.edu/event/heo-brown-bag-lunch/) by changing the start/end times, and then changing them back again. Scott, this will have to be repeated with the other existing events. Are you able to do this, to confirm that it's working properly?