I've run the Borwein on two machines under Linux, and on both of them I get checksum error with Borwein and more than 4M digits. One of the machines has a Windows too, and in that case the checksum is OK.
In all three cases the results (CPUPI.DAT) are exactly the same, the only difference is newlines (Windows vs. Linux).
What sure what's wrong with it - obviously there's some kind of platform-specific bug.
Actually it was a gcc 3.4.x bug under x86. We worked around this in 1.3.0.