If it's only seeing the HDD in the BIOS 'most of the time' it's either your HDD, cable (check it's seated correctly and not broken) or your motherboard.
Boot to a floppy and see if you can access the HDD. If you can, then write a new MBR to it. If you can't access it, test your HDD in another system, and teset another HDD in your system. If your HDD works in another system, and another HDD doesn't in yours, replace the cable. If it still doesn't work, try resetting your BIOS/flashing it.