This should do the trick.
SELECT UID, [DATE], VALUE
FROM smpTbl
INNER JOIN
(
SELECT UID, MAX(DATE) AS MAXDATE
FROM smpTbl
WHERE [DATE] < '3/13/02'
GROUP BY UID
) AS smpBase
ON
smpTbl.UID = smpBase.UID AND
smpTbl.[DATE] = smpBase.MAXDATE
What happens is you subquery for each UID's MaxDate but it has to be less than the criteria. Then this derived table is join back to the original so we can output the value as well.
"Don't roll your eyes at me. I will tape them in place." (Teacher on Boston Public)