I think you are hitting the limitations of the LBA.
[quote]Drive makers overcame this limitation quickly in the early 1990s by adding BIOS extensions to support LBA (logical block addressing). Rather than specifying a particular cylinder, head, and sector, LBA uses a 28-bit address to define 228 (268,435,456) unique sectors. A controller embedded in the drive translates each sector into an appropriate physical location. Because each sector can hold 512 bytes, LBA can support drives up to 137,438,953,472 bytes (137GB).
Note that although LBA always supported 137GB capacities, BIOS makers frequently did not support the full 28-bit addressing scheme. This resulted in size limits at 8GB and 32GB, which were easily corrected with a BIOS upgrade (or a new drive controller card).
I know 137 does not equal 128 but there can be various reason for that.
Have you tried to split the HD into 2 125Gb partitions or even more smaller partitions. It might sort your prob out. Otherwise you should check the drive manufaturers website for advice.
Updating the bios on your motherboard may also sort things out for you.