ちょっと前からウォッチしてたMSDN フォーラムの下記のスレッドがありました。
質問の最初からXAMLではなく、コードでどうにかしたいという要望があったので最終的にDataGridCellのContentにHyperlinkButtonをセットするという方法に落ち着いたみたいですが、こういうアプローチのほうが受けがいいんでしょうか?個人的には、問題解決後にViewModelとCellTemplateによる表示の切り替えの例のプロジェクトをくっつけてあるとおり、このアプローチのほうが好きです。Windows Formsなら、コントロールを直接弄る方法を選んでたと思いますが、WPF/Silverlightにおいて、その方法はやりにくいと思うんですけどねぇという個人的な感想でした。
(ついでにコレクション系のコントロールだと仮想化の影響を受けて悲しいことにならないかちょっと心配(未検証))