The Charlie Cox thing is a common error. I think Andy Mitchell at the SFA uncovered this a couple of years back.
The McPherson business throws up a common problem - that of the status of players capped in the 'close season' I first came across this with Tommy McLean. Agreement was reached to transfer McLean from Kilmarnock to Rangers in June 1971. Contemporary records showed his cap v Denmark on June 9th 1971 as coming while with Rangers.
Yet unless Rangers actually flew out to Denmark to sign him this is impossible. His registration still had to be with Killie. Richard Keir has him as with Killie, which is correct.
Incidentally, McLean was never capped again after moving to Ibrox. Just shows what happens when you make a downward move
McPherson is a similar problem. June 4th was the day after Scotland played in Norway and the team was en route to Sweden for Euro 1992. So, was his registration actually changed to Rangers while the player was out of the country? Did Rangers have officials travelling with the Scotland squad?
Admiteddly the McLean transfer was before the fax machine so it's possible McPherson's registration WAS changed while abroad but it's worth double-checking I think.
A similar anomaly was during the 1994 World Cup. Pat Bonner was freed by Celtic and reached agreement with Tommy Burns to sign for Killie. Many papers duly recorded Bonner as a Kilmarnock playerwhen listing the Irish squad for the Finals. I was on holiday in Ireland at the time and can confirm this was the case, even in the Irish press. But Burns walked out to take over at Celtic and - a month later - duly re-signed Bonner at Parkhead.
However, while he was at the World Cup, Bonner wasn't registered with any club. So even though he played for Celtic in 1993-94 and in 1994-95 his World Cup appearances came while he was unattached.
This will become more and more frequent at major tournaments under freedom of contract.