Technically, this would indeed eliminate tanking (duh, there's nothing to tank for if there is no draft), but it would obviously create talent imbalance as well. Small market teams, especially those that are struggling, would have to give massive contracts to 19 year olds and pray that they develop. If they happen to get unlucky, then they'd be straddled with a huge contract while also continuing to rot in the cellar. This is already an issue with signing veterans, but at least you have some sort of sample size when signing those guys. Giving huge contracts to kids that have played 30ish college games would be a nightmare for small market teams.
The issue is that if we assume that tanking is something that absolutely must be fixed (I personally don't think it is), then the only real way to fix it is with something like what Stan is proposing, or making extreme changes to rookie contracts, and both of these options have negative impacts in the eyes of many NBA owners.
For example, if restricted free agency were eliminated so that teams can't lock talented rookies up for 8+ years before they have a chance to actually sign with someone else, this would deter tanking (probably only slightly if at all though). Take this a step further...let's say instead of rookie contracts being 2 years with a 2 year team option, it's 2 years with a player option. Would teams tank just to have a potential star for 2 seasons (during which they probably wouldn't actually make much of an impact on the team since most rookies take at least a few years before they're actually a net-positive player)? I'm not so sure. They'd at least have a chance to endear themselves to the prospect for 2 years before he can walk, so that for example, you might see a guy like Westbrook or Giannis that's grown attached to their small markets and choose to stay. But you'd probably have a ton of guys leave after their two years are up as well; not to mention if you get an absolute bust (for example, Anthony Bennett), you'd be saddled with paying his contract for 4 years instead of being able to get out after 2.
The issue is that NBA owners want to be able to control players while also eliminating tanking; this just isn't possible. To deter tanking, they must give up control.