Gains Rowe was married several times, at least 3 or 4, I can't give the correct number at the moment, but Mary C. Snead was not the daughter of Margaret Snead. She was the daughter of his widow Harriet M. (Gillespie) Snead. The father of Mary C. Snead was Robert Whitehurst Snead who died before Jan. 1800. His father Robert Whitehurst Snead was the father of all the children you named.
Robert Whitehurst Snead, Jr., and Harriet M. Gillespie were married at New Bern, Craven Co, NC December 10, 1796 and he died before Jan. 1800.
Harriet M. Rowe's will was written in Onslow Co, 10 April 1813. She left property and money to Mary C. Snead if she did not contest the will, nor that of Harriet's late husband Gains Rowe, or of her father Robert W. Snead. If she did the the property to to to Harriet's son James G. Rowe. If her son and daughter both died then all to her brother B. C. Gillespie and sister Catherin Anthony and her mother Lydia Gillespie.
I do not remember if he was married to a Margaret Snead, unless the M. in Harriet's name is for Margaret, but one of his wives was Catherine Gillespie and I think a Shackleford.