Because someone changed
asm volatile ("mov #BLJUMPADDRESS, w1 n" //bootloader location" goto w1 n");
skip_pgc_pgd_check = true;
asm volatile ("RESET");
The new style flags skip_pgc_pgd_check. Then it does a reset and expects the bootloader to check the contents of skip_pgc_pgd_check. It should decide to stay in the bootloader instead of branching to the application. This will only work with an updated bootloader (>=4.5).
The old style did a direct jump so it will work with any bootloader revision.