After reordering, if you hover over the "Component Blueprint B" entry, the object path indicates that it's incorrectly referencing a transient object. This is why GetWorld() now returns NULL and the log output does not match.
Current workaround: Select the drop-down on the reordered "Component Blueprint B" entry, and re-select "Component Blueprint B" from the drop-down list. Confirm that the entry no longer references a transient object by hovering over the entry and examining the tooltip, then re-save the level.
LogTestInstancedComponents: ComponentBlueprintA_C_0 : BeginPlay : World is valid LogTestInstancedComponents: ComponentBlueprintB_C_0 : BeginPlay : World is valid LogTestInstancedComponents: ComponentBlueprintB_C_0 : CheckWorld : World is valid LogTestInstancedComponents: ComponentBlueprintA_C_0 : CheckWorld : World is valid
LogTestInstancedComponents: ComponentBlueprintA_C_0 : BeginPlay : World is valid LogTestInstancedComponents: ComponentBlueprintB_C_0 : CheckWorld : World is NOT valid LogTestInstancedComponents: ComponentBlueprintA_C_0 : CheckWorld : World is valid
N/A
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-88139 in the post.