First-generation SATA controllers have several problems getting along with newer SATA drives, among them: inability to negotiate transfer rate of the drive down from 3.0Gb/s to 1.5Gb/s, and failure to account for the large capacity of the drive (>527GB). There is more information on this issue in this excellent post.
Unfortunately, it is difficult to tell which issue is being experienced when the BIOS merely locks up, or the controller locks up during drive inquiry and is invisible to the system thereafter. Assuming first that the problem persists under a newer version of the Linux kernel with the libata drivers mostly sorted out, there are several other potential compatibility fixes that do not involve buying and installing a newer SATA controller card that you are sure will work: