Black is more academically rigorous than Wikipedia! He says that Crawford and variants are of territorial orgin from the place in the Upper Ward of Lanarkshire.
MacCreamhain is a Gaelic patronymic, i.e. "son of Creamhain" which would sound more like MacCreaven, 'mh' being pronounced like 'v'.
Does Wikipedia give any sort of source for its statement?
I doubt that there is any historically proven connection between Crawford and McGraffan, but that doesn't mean that they could not have been used as if there were. There are plenty of examples of unconnected names that have come to be used interchangeably - Janet/Jessie and Donald/Daniel being the most obvious. Why not Crawford/McGraffan?