That seems to be the only way.
Erm..no.
Can't really know why the Linux knows the size right, though it cannot do anything with it besides complaing it being virtual.
I know why Linux knows the right size: It is asking for the right size. If you need to partition the drive under Linux my advice is: learn how devices are managed in Linux and append the correct device to the cfdisk command. There are plenty HOWTOs out there, so i will not bother explaining anything about that here.
That said it seems pretty sure that Maxtor's cap limit jumper really restricts permanently the use of the drive's full capaticity with the jumper on.
No. The cap limit jumper just reports a wrong size (on purpose) to all programs NOT asking for its LBA48 size. The reason (and that's the only reason) is that the correct size just would crash badly written software (BIOS, Windows 95/98/ME to name just a few). Windows XP SP2 SHOULD (according to Microsoft) ask for the LBA48 size. LBA48 is not related to any BIOS version or function and does not require a special chipset function.. It is just a transparent command set addon to the ATAPI standard. Every device will set a bit that shows if it does support this command set or not. Everything else is up to the OS and its underlying drivers.