I made an assumption you are using at least SQL Server 2000.
DECLARE @Temperature TABLE (CalendarDate datetime, Temperature decimal(10,2),UOM char(1))
INSERT INTO @Temperature
SELECT GETDATE(), 55, 'F'
UNION ALL
SELECT GETDATE(), 15, 'C'
UNION ALL
SELECT GETDATE() + 1, 58, 'F'
UNION ALL
SELECT GETDATE() + 2, 60, 'F'
UNION ALL
SELECT GETDATE() + 3, 14, 'C'
SELECT
CalendarDate,
MAX(CAST(CASE WHEN UOM = 'F'
THEN Temperature
WHEN UOM = 'C' THEN (Temperature * 1.8000) + 32.00
END AS DECIMAL(10,2))) AS Fahrenheit
FROM
@Temperature
GROUP BY
CalendarDate
SELECT
CalendarDate,
CAST(CASE WHEN UOM = 'F'
THEN Temperature
WHEN UOM = 'C' THEN (Temperature * 1.8000) + 32.00
END AS DECIMAL(10,2)) AS Fahrenheit
FROM
@Temperature
-- I think this will give you what you are looking for:
SELECT
t.CalendarDate,
CAST(CASE WHEN t.UOM = 'F'
THEN t.Temperature
WHEN t.UOM = 'C' THEN (t.Temperature * 1.8000) + 32.00
END AS DECIMAL(10,2)) AS Fahrenheit
FROM
@Temperature t
inner join (select t1.CalendarDate, max(t1.UOM) UOM from @Temperature t1 group by t1.CalendarDate)dt
on (t.CalendarDate = dt.CalendarDate and t.UOM = dt.UOM)
ORDER BY
t.CalendarDate;