I agree that pragma once should mean same file and not file with same bits.
But I disagree on everything else.I used pragma once exclusively on all my libraries quite successfully, they are well organized and no such confusion could occur by design, "as a well orchestrated build should".
If you are in a situation where this causes problems, either by having multiple copiesĀ of the same library or by using symbolic or hard links, and they all end up on the same include stack. Well... then don't do that then! Seems like a you problem.