The 137 GB is a familiar number, BUT not when it is reported by Windows! A system that lacks "48-bit LBA Support" cannot use a HDD larger that 137 GB according to the way a HDD manufacturer counts it (they define a Gigabyte as 1,000,000,000 bytes). But Windows will call that same space 128 GB, because they define a Gigabyte as 1024 x 1024 x 1024 bytes.
But if your post means the drive appears to be a 137 GB unit in HDD maker's measurement system, you may have this problem. Win XP in its ORIGINAL form did NOT have 48-bit LBA Support. It was added in Service Pack 1 and maintained thereafter. Now, with all your problems, did you end up re-installing Win XP from an older Install CD that did NOT have any Service Packs included on it? If you did, the Install process could only have created a Partition no larger than 137 GB (or M$'s 128 GB) in which to do that install.
You say you "can make Partitions and Format the disk". How? What software tool are you using for those tasks? When I first started setting up my system with 320 GB units, I used a utility from the HDD maker to Partition and Format them, and ran into this limit. It turned out that if you ran the utility from the CD it came on it did NOT know what OS you had or were planning to use, so it refused to make a Partition larger than that limit. This was designed to prevent you from creating a Partition that your eventual OS could not handle. The simple solution is NOT to do the job that way. Let the Windows Install disk do the job for you if you're installing - any Win version from Win XP SP1 onwards will make Partitions larger than 137 GB. Or, if you are using Disk Management within Windows it will do the job just as long as the Windows you are running is at least SP1 of Win XP.
If that is not how you got to this situation, I suppose it is possible that something wrote information to the HDD's controller board that told it to limit itself to that size. I know Seagate drives can be set this way by using a utility from them, and can be reset to full capacity. I don't know whether WD has a similar feature or not. Check with their Tech Support guys.
By the way, you will not find any info on Cylinders, Heads and Sectors on modern drives. All of that is managed by the controller board on the HDD itself, and users cannot manipulate those things. Twenty years ago one had to put the right info like that into a computer's BIOS. Its controller used those three parameters to direct the HDD heads to the right sector it wanted to use. In the LBA system that took over in the '90s, modern controllers specify what sector they want with a single binary number. The controller board on the HDD takes that number and, pre-programmed with the data for the particular drive it is attached to, translates that number into the CHS co-ordinates for that drive. The original version of LBA ("Logical Block Addressing") used 28 binary bits to communicate this number. So the maximum number of sectors it could address was 2^28, or 268,435,456. Now, sectors up to recently are 512 bytes, so that's a maximum of 137,438,953,472 usable bytes - look familiar? By the late '90's HDD makers realized they would soon pass that size in their products and revised the LBA system to use 48 binary bits instead to communicate this address. Even without resorting to the new larger (4096 byte) sectors, that system provides for HDD capacities 'WAY larger than anyone knows how to make!