71337 wrote:Does this sound like a corrupt firmware?
No.
There are some ambiguities in the story so far, but for starters, I assume (though I don't think you've said this), that you have removed the drive from the USB enclosure and are now attaching it directly via ATA. In that case, your "128GB" reported in the BIOS may be due to your BIOS being so old that it doesn't support 48-bit LBAs. Other possibilities also exist...
I'd probably start by using MHDD or HDAT2 (or sg_identify under Linux) to read the Identify Device response from the drive, check the reported drive capacity in that response, check for the existance of an HPA (although there's no good reason why one should exist now, and which would set that
specific size), and go from there depending on the results.
P.S. What (exact) OS were you running when you used TestDisc & PhotoRec? I assume that OS was being booted from your usual boot drive in this PC - is that correct? If so, what capacity is that boot drive?