Steve Bennett wrote:
... It may be possible to do it with some CSS magic, like putting a class on the {{dab}} template, and somehow making that class invisible when it gets transcluded. ...
Which won't work on browsers that don't support CSS. I believe the best way to do this would be to load the diambiguation page using [[Ajax (programming)|Ajax]]. This should degrade nicely on browsers without JS/CSS.
--Ruud