Ok so I got really angry and managed to get the screws out, even without stripping the heads! So I got the shock tray out, pushed on all the connections, they all didn't budge. I plug in the unit and it comes on. So I try it a few more times and the unit powers up. Then I slide the shock tray back in and it still works. I load up emplode and deleted everything off the drive and am currently trasfering 573 megs over USB. I also have hyperterminal up over COM1 and I'm getting the following errors as the songs transfer:

hda: no DRQ after issuing WRITE
ide0: reset: success
hda: set_geometry_intr: status=0x51 { DriveReady SeekComplete Error }
hda: set_geometry_intr: error=0x01 { AddrMarkNotFound }, CHS=257/1/1, sector=113
6176
hda: recal_intr: status=0x51 { DriveReady SeekComplete Error }
hda: recal_intr: error=0x01 { AddrMarkNotFound }, LBAsect=16843009, sector=11361
76
hda: recal_intr: status=0x51 { DriveReady SeekComplete Error }
hda: recal_intr: error=0x01 { AddrMarkNotFound }, LBAsect=16843009, sector=11361
76
hda: status error: status=0x59 { DriveReady SeekComplete DataRequest Error }
hda: status error: error=0x01 { AddrMarkNotFound }, LBAsect=18079713, sector=113
6176
hda: no DRQ after issuing WRITE
ide0: reset: success
hda: set_geometry_intr: status=0x51 { DriveReady SeekComplete Error }
hda: set_geometry_intr: error=0x01 { AddrMarkNotFound }, CHS=16383/15/63, sector
=1136176
end_request: I/O error, dev 03:04 (hda), sector 1136176
hda: recal_intr: status=0x51 { DriveReady SeekComplete Error }
hda: recal_intr: error=0x00 { }
hda: write_intr error1: nr_sectors=31, stat=0x59
hda: write_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
hda: write_intr: error=0x00 { }
ide0: reset: success
hda: write_intr error1: nr_sectors=53, stat=0x59
hda: write_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
hda: write_intr: error=0x01 { AddrMarkNotFound }, LBAsect=18162469, sector=12189
31
ide0: reset: success
hda: write_intr error1: nr_sectors=101, stat=0x59
hda: write_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
hda: write_intr: error=0x00 { }
ide0: reset: success
hda: write_intr error1: nr_sectors=86, stat=0x59
hda: write_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
hda: write_intr: error=0x01 { AddrMarkNotFound }, LBAsect=18175307, sector=12315
14
ide0: reset: success

there are quite a few more but they are generally like that. Does it still look like a bad cable or could it be a hard drive(s)?