I think this depends on learning styles. I was taught Spanish in both Spanish and English, starting around 13 years of age. I speak Spanish nearly flawlessly. Many Argentines initially think I am Argentine; Chileans/Colombians/Ecuadorians/etc., just assume that I am; and foreigners from non Spanish-speaking countries are confused as heck when I tell them I'm not from here. I'm not trying to gloat, but I am just saying that having concepts and grammar explained to me in my native language (as well as immersion) has really helped me to speak the language the way I do.