Actually, it does use two versions of the image, even without looking at the code, you can tell by the difference in contrast some of them have between bw/colour versions.
Anyways, each anchor has the same backgroud image assigned url("../../i/speakers/sprite.jpg")
whose different vertical position determines which portrait is shown. This sprite image is in b/w.
Each anchor contains an image element (the colored version) with an opacity initially set to 0, then set to 100% on mouse over.
<a class="tile bridle" href="/speakers/james-bridle">
<p>
<span>
James
<b>Bridle</b>
</span>
</p>
<img alt="" src="http://media02.dconstruct.org/2010-0008/i/speakers/bridle.jpg?0008"/>
</a>