We have the same situation and it works fine.
There is a BasicComponent and there is an AdvancedProject that includes a BasicComponent.
Now on the 7.1 platform, but it used to work on the 6.8 platform.
It’s done just like yours.
But if you want in Project B use MainScreen from Project A, that is, an error in your example of web-approvals of Project B…
There must be cuba.web.mainScreenId=projectAMainScreen but not cuba.web.loginScreenId.
There is a BasicComponent and there is an AdvancedProject that includes a BasicComponent. Now on the 7.1 platform, but it used to work on the 6.8 platform.
–> Could you share me the location or link?