A lesson has undoubtedly been learned, but no way did it need all those deaths to be applied. Should never have happened if the relative priority of ATC and TCAS RAs had been clearly stated by ICAO, not buried in "training guidelines". And what makes it worse is that the JAL incident occurred in Jan 01, with the Japanese authorities drawing the attention of ICAO to the incident and asking for guidance. ICAO responded guess when, August 02, one month after Ueberlingen.
The BFU accident report (available in English on their web-site) doesn't pull any punches in this regard. It identifies several systemic causes of the disaster, and top of their list was:
"The integration of ACAS/TCAS II into the system aviation was insufficient and did not correspond in all points with the system philosophy.
The regulations concerning ACAS/TCAS published by ICAO and as a result the regulations of national aviation authorities, operations and procedural instructions of the TCAS manufacturer and the operators were not standardised, incomplete and partially contradictory."