The fact that it CAN boot sometimes, but not reliably, suggests strongly that there is a loose connection somewhere, not corrupted data on the drive. Now the easiest loose connections to find and fix are in cables, but you've already done that. Other possible sources are in your mobo itself, in your power supply, or in the HDD's circuit board.
Let's try to identify whether the problem is in the drive, or in your machine. Can you remove that HDD from your machine and temporarily install it in another one? Then you can do one of two types of test. The first is just to treat it in the new machine as an extra drive containing data. So you look for it in My Computer and check whether you can access its files. Does it always work? Does it rarely work? The other test is to set the new machine's BIOS Setup to boot from YOUR drive, not its normal boot drive. This may or may not work fully, because your drive has an OS on it that may not have the right drivers for the new machine. However, if it behaves the same as it does in your machine - cannot even find this drive most of the time - you know it's a HDD problem. But if your drive functions perfectly in another machine, you know the problem is in your machine - power supply, mobo, or cables.