Seems a lot of confusion here between formatting and partitioning! And NONE of this has anything to do with "low-level format". A "low-level format" these days is done only at the manufacturing site and it actually creates (by writing magnetic signals to a blank HHD) the empty sectors on each track.
The first thing a user does with a new HDD is PARTITION it. That operation creates a Master Boot Block (with a mini-OS in it that can read in a little data from the disk) and a Partition Table telling the system how this particular HDD is organized. That's things like how many partitions are on here, what size is each, where does each start, and which one is actually boot-able with an Operting System on it. The Partitioning job is done by an operating system running a program (like FDISK.exe, for example) and it can only create Partitions with HDD structures it knows how to handle. So, for example, if the HDD first was PARTITIONED using original Win XP with NO later Service Packs, it could only create partitions up to 137 GB (actually show as about 128 GB) because that OS did not know anything about LBA48. Service Pack 1 solved this, and SP2 maintained that, of course. (By the way, in the case of Win 2000, LBA48 support is included in a later SP - certanly by SP4, maybe earlier, I don't know.) And I suppose that, even if the original partitioning had been done under an XP with SP2 installed, you would have had the option to create a Partition of specified size less than the full disk.
Only AFTER the Partition has been created can you FORMAT that partition. But the size is already established - you do NOT set the size with FORMAT. So simply formatting an existing HDD Partition will not change its size.
It appears the HDD in question was Partitioned originally in a system that did not support LBA48 and drives larger than 137 GB. Even though it is now installed in a machine that does handles a 500 GB drive properly, it still has only one partition of size 137 GB to work with. The rest of the drive is simply undefined. So you should have three choices.
1. In Windows under Administrative Tools for hard drives etc, find the HDD. It should show you that it has one partition of 128 GB plus a bunch of unassigned space. You can tell it to create on this same HDD a second Partition of whatever size you like, up to a max of available space, and format it for you. It will become a third hard drive, as far as Windows is concerned. All the data on the 128 GB existing partition will still be there.
2. Alternatively, in that same place, you can tell Windows to destroy the existing partition on that drive (you will certainly LOSE all its data!). Then tell it to create a partition on the unassigned drive of whatever size you want, up to the full size. Also have it formatted. Now you will have (up to a) 500 GB drive, but it will really look like about 450 GB.
3. With the old drive installed in the new machine, use a utility from the HDD manufacturer -that's Seatools from Seagate here - to do the re-Partition and Format. Again, you will LOSE all its DATA! And again, you can specify whether to partition it into one big 500 GB drive or into several smaller partitions. One thing to watch out for: If you simply run Seagate's utilities by allowing it to boot your machine from the Seagate utility CD, that system will not know that your machines's installed version of Windows can handle large HDD's properly. By default it will refuse to make a partition larger than 137 GB to protect you from earlier OS's. So you proably should sinstall the Seagate utilities on your hard disk, then run it from there under Windows.