SQL Server: Insert Data When Not Present

I need a T-SQL fix that adds records only if they aren’t already in the table. Check out the sample below.

CREATE PROCEDURE [dbo].[sp_AddMessageEntry]
  @sender nvarchar(50),
  @subject nvarchar(50),
  @msgDate nvarchar(30)
AS
BEGIN
   IF NOT EXISTS (SELECT 1 FROM ReceivedMessages WHERE Sender = @sender AND Subject = @subject AND ReceivedDate = @msgDate)
   BEGIN
       INSERT INTO ReceivedMessages (Sender, Subject, ReceivedDate)
       VALUES (@sender, @subject, @msgDate);
   END
END

hey, ths solution is neat! but have u thought about race condtions? i once tried merge and hit issues. what did others notice when using these techniques? lets discuss!