I thought I had posted my reply prior so I apologize if this is a duplicate post...
Here is an alternative you may want to try to get the max date value form your columns. I thought this was simple but had to get help from a peer.
declare @dt table ( akey int, d1 datetime, d2 datetime, d3 datetime )
insert into @dt values (1, '2012-01-01', getdate(), '2012-09-01' )
insert into @dt values (2, getdate(), '2012-01-01', '2012-09-01' )
insert into @dt values (3, '2012-01-01', '2012-09-01', getdate() )
select
akey, max(dates)
from
( select akey, d1, d2, d3 from @dt ) p
unpivot (
dates for datevals in ( d1, d2, d3 )
)
AS unpvt
group by akey