I agree, I think there's no way around the fact that you have to convert first. This should put you in the right direction for converting to standard MSSQL datetime format:
declare @oldDate varchar(50)
select @oldDate = '14:12:43 CDT 06/14/2007'
select convert(datetime,SUBSTRING(@oldDate,CHARINDEX(' ',@oldDate)+6,len(@oldDate))+' '+
You can use a similar statement with an update or insert operation, then you will be free to use datediff or whatever to do the comparing!