I'm not a SQL god for sure (In fact, I'm relatively new to SQL Server), but why don't you create a temporary table (table name starts with #), do a select distinct into that temp table. Then, delete all records in original table, and populate with data from the temp table. Just a thought...
I'm sure there's a way to do this in a SQL statement, but I've got to think on that...
JJ