Coming back to this part of the thread:
the widget on my webpage still shows a gig that took place yesterday regardless if I add the 16th as the end-date or not
It turns out I had it set to keep displaying events until one day after they ended. Now that seems confusing, so I just removed that. Does that fix it for you?
Note that if an event has an end time at or after midnight, it will still appear on the following day, but then it will disappear the next day.