You are correct in thinking the results can be obtained by using a join. Here is the solution for the problem using a left join. There are two fields in table (user, and date)

select a.*
from
(select *
from dbo.tbl
where date > '3/14/2011') a
left join
(select *
from dbo.tbl
where date <= '3/14/2011') b
on a.username = b.username
where b.username is null

Results:
2 2011-03-16 00:00:00.000
3 2011-03-15 00:00:00.000
3 2011-03-18 00:00:00.000
5 2011-03-15 00:00:00.000