Flashing Atmega328PB only works once

Glad to hear MiniCore is working for you!

I did a comparison between the MiniCore bootloader source and the watterott source you pointed out. There are some differences in the handling of MCUSR but also watterott's has so auto baud rate detection code added:

vs

I believe the purpose of the added code in the MiniCore version was to preserve the contents of the MCUSR register so that information can be used in the application.

Another significant difference I notice is that the watterott bootloader has auto baudrate detection: