However the 1617 contract is primary evidence for the Montgomery marriage, and since it was drawn up before the Campbell/Cornwallis marriage it must refer to the Campbell/Douglas daughter.
Um, no, the Campbell-Cornwallis marriage took place in 1609. It is possible that in 1617 there was only one daughter named Mary, from the Campbell-Douglas marriage. Unfortunately there is no primary evidence yet for a birth of a Mary (which is stated in sources to have taken place cir 1622) from the Campbell-Cornwallis marriage
It is said that Robert Montgomery the younger married Mary Campbell, 4th daughter of Archibald 7th Earl of Argyll and that they had 3 children. It is also said that this Robert died in the lifetime of his father who died in 1651.
Is it not possible that Mary, widow of Robert Montgomery the younger, then married James, 2nd Lord Rollo?
No, I'm afraid that really doesn't work.
Robert Montgomery (who married Mary Campbell) seems to have died in 1647. Mary was married to him until either his death or her death - she cannot have been a widow in 1642 and married James Rollo at that time.
Nell