In this case the issue is not a C::B or CC issue, it's a broken projectfile.
You have he same file twice in it (with different relative paths):
<Unit filename="..\..\..\..\iccv8cortex\include\CMSIS\core_cm3.h" />
<Unit filename="..\..\..\include\CMSIS\core_cm3.h" />
The issue can simply be fixed by explicitely saving the projectfile, closing and reopening it.
Nevertheless the calculating of the common toplevel path should work correctly in this case also in my opinion.