Since the idea of a re-scan made sense to me, I gave that a try after coming home from work. In the original scan, there had been several beeps indicating errors but rescanning the line cleared that. Anyway, the result of the re-scan seems to have sorted the issue out.
I have attached a visualisation from the i1Pro2, a colorthinkPro3 compare between the damaged and the new one and a colorthinkpro3 compare between the Hahnemuhle and my new rescan profile.
Yep. Bad scan for sure.
Here's a few of the patches where the wrong patch was read in:
Row 15, Col. 4, Page 1 RGB values (255,42,23) (somewhere around a bright, saturated red) came out Lab (24, -12, 2), a very dark cyan.
Row 15, Col. 16, Page 1 RGB values(255, 191, 115) (a desaturated light orange) came out Lab (48, -46, -25) a strong cyan.
In examining the row it is clear that the patches from those locations in row 16, instead of row 15, were read in by error.
There is a fairly good way to avoid these sorts of mistakes. Scan each set of prints 3 times saving the intermediate measurements. Then run "Data Measurement Analysis" in I1 profiler using the first and second file. This will show statistics on how well the two sets of scans match for each RGB patch. Any misalignment between the two will stand out. Do this for the first and second set, first and third set, and the second and third set. If two of the three match each other closer than about 4 dE worst case and better than 1.0 on average just average the ones that are closest to each other. Xrite has a description on how to average measurement files in their FAQs.