Nobody has cast doubt on anything in modern quantum mechanics. The abstract makes this much clearer than the BBC article does:
"While there is a rigorously proven relationship about uncertainties intrinsic to any quantum system, often referred to as “Heisenberg’s uncertainty principle,” Heisenberg originally formulated his ideas in terms of a relationship between the precision of a measurement and the disturbance it must create. Although this latter relationship is not rigorously proven, it is commonly believed (and taught) as an aspect of the broader uncertainty principle. Here, we experimentally observe a violation of Heisenberg’s “measurement-disturbance relationship”, using weak measurements to characterize a quantum system before and after it interacts with a measurement apparatus. Our experiment implements a 2010 proposal of Lund and Wiseman to confirm a revised measurement-disturbance relationship derived by Ozawa in 2003. Its results have broad implications for the foundations of quantum mechanics and for practical issues in quantum measurement."
In other words, Heisenberg originally thought that the inability to measure two incompatible observables (like momentum and position) was because of something that is now called the "observer effect": http://en.wikipedia.org/wiki/Observer_effect_(physics) The observer effect applies even to classical systems without quantum mechanics! You just can't measure something without affecting it in some way [1].
The modern version of Heisenberg's uncertainty principle says nothing about measurement disturbing the system. It instead says that there is an inherent uncertainty to the system. I've been seeking clarification on what exactly this means for a long time and have never really gotten a satisfactory answer. I've tried Physics Stack Exchange, my QM professor, even Hacker News and most people either confuse HUP with the observer effect or they reply in illy-defined terms that don't help me any.
The best that I can figure out on my own -- the true HUP -- is thus: You can prepare a system in a certain state. You then take a position measurement and a momentum measurement at the same time. You get two real numbers. Now, you repeat the experiment. Create a system just like you did before and take measurements of r and p. After multiple repetitions of the same experiment over and over, you'll get two long lists of position and momentum measurements. Take the standard deviation of the position measurements, multiply that value by the standard deviation of the momentum measurements, and HUP guarantees that the resulting real number will be ≥ ħ/2 (reduced Planck's constant over 2).
[1] Well, there's a few loopholes if anyone is curious.