Something that I think is important to remember is what economic forces drove slavery. Early on, most slaves were used for mining or as part of the encomienda system (a kind of feudal tributary system with Spanish encomenderos ruling over Native Americans). These slaves were largely Native American because it was easiest to draw labor from near by and the available population largely met the labor demand. Also, the encomienda system fit nicely with the tribute systems already in place in many meso-american societies (although the Spanish drove these systems to an obscene conclusion). This system eventually failed for the reasons you point out.
I think there is a fourth reason for the decline of Native American enslavement. Tribute and mining were no longer seen to be as lucrative as they once were. The real money in colonization was seen as sugar. And this commodity, which required extensive labor, was the major force behind slavery. When you look at where slaves were sent, the biggest destinations were Brazil, Cuba, and other big sugar producers. But by the time the sugar industry picked up, Native American slaves could not meet the labor demands, while African slaves could be easily bought from West Africa for guns, steel, and other goods.
As you mention, many West African states were already players in the slave trade but it wasn't until sugar exploded that there was a European demand for these slaves. Initially, European traders were most interested in extracting gold (this may have been due in part to mercantilism and similar economic theories at the time). Take for example the Gold Coast, which was originally named for its gold mines and gold trade, but by the 1800s hosted one of the biggest slave castles at Elmina (the mine).