(2). XHTML 1.0 で、前方互換性と後方互換性を同時に保証するには、外部スクリプト以外に選択肢はありません。従来の HTML パーサのほとんどは、「<![CDATA[」を解釈できずにそのままスクリプトエンジンに渡すので、スクリプトエラーになります。XML パーサは、「<![CDATA[」は解釈できますが、「<!--」は素直にコメント開始と見なすので、スクリプトが実行されません。
現状、XHTML で書かれたページで script 要素内をコメントにしても動作するように見えますが、これは XHTML を HTML としてパースしているので、問題が表面化していないだけです。Firefox、Opera、Safari で XML モードを使えば、正しく無視されます。
(3). HTML 4.0 では、スクリプトデータをコメントで隠すことについて、「しなければならない」でも「すべきである」でもなく、淡々と「こういうやり方もある」くらいのトーンでしか語っていません。古い携帯端末がネックになりますが、それも外部化すれば無問題なので、コメントアウトの習慣はもう廃れて良いと思います。