As someone who has learned several languages to near native fluency and majored in linguistics at the University, I think the OP is right on in his estimate of the goal. But the biggest problem software in this area is facing is that language learning is not a one way street. You can't memorize thousands of words in all the contexts in which they occur and expect to be able to have any competency, at least for speaking & vocal comprehensione. Even when the software provides dialoges and attempts to simulate conversations (ie. "Pimsleur" and others), it fails because its the same over and over, mostly outside of real world contexts, where background noise, dialects, and other tasks are involved. A new language learner has to be able to respond rapidly and fluidly in spoken conversation over a variety of subjects if he/she wants to be able to function at the level the OP is talking about, and current software simply doesn't provide the degree of realism in these types of situations.
IMHO, in order for any software to be able to achieve the above stated goal, I think it would need to first have a very good humanlike AI. why? So you can have a "human partner" in conversations over a variety of subjects, where the learner is forced to quickly respond and interact with the partner/software. Otherwise, you're left with all the current options which are at best subpar in comparison to actually living and interacting with native speakers in the said country.