It's a while ago now that I actually worked on PSTN protocols. My memory is hazy and whilst I could dig out the protocol specs I'm not sure I could face it, my recollection is as follows...
When a legitimate user wants to display a number that is not the calling party's number, it gets passed an entirely different parameter, 'presentation number'. This calling party number is still present all the way to destination exchange, and could be used by BT switches to identify the rogue caller, regardless of 'presentation number'.
Note also that Calling Party Number is normally present too, even if it has been 'withheld'. Callers who 'withhold' their number simply cause a bit to be set, indicating it should not be presented to the called subscriber.