Define not working. ATA100 HDs should work (be recognized by the system -- show up on CMOS) on an ATA66 controller, just not at ATA100 "speeds" (they are backwards compatible). If you want all the "speed" of an ATA100, yes you can buy a new MB, or you can buy a ATA100 controller card (such as a Promise card). For the money, it simply isn't worth it.
If the HD is not recognized by CMOS, then your MB is bad, or your HD is bad.