In the mid-air collision over Uberlingen, why couldn't the DHL611 crew hear the instructions given by the controller to Bashkirian 2937 crew if both aircraft were on the same frequency?
It wouldn't matter if they had.
The DHL611 crew had been trained to obey TCAS orders over ATC. This was fairly common, but not universal practice at the time. Their training was unambiguous, and stated that TCAS should be followed over ATC instructions. They had been trained that both aircraft would follow TCAS and avoid the collision, and had no reason to believe that wasn't the case: they didn't even necessarily know that BTC2937 was the aircraft causing their TCAS alert
The crew of BTC2937 hadn't been trained to follow these priorities, or became confused.
From the Wikipedia page about the incident:
The TCAS Pilot's Guide was ambiguous as to whether or not TCAS advisories should take precedence over ATC instructions.[BFU 14] This ambiguity was replicated in the Tu-154 Flight Operations Manual, which contained contradictory sections. On the one hand, chapter 220.127.116.11 emphasized the role of the ATC and describes the TCAS as an "additional aid",[BFU 15] whilst chapter 18.104.22.168 forbids manoeuvers contrary to the TCAS
Since that accident, it was made official procedure for all flights to follow TCAS, ignoring ATC when a TCAS RA is in effect.