Если SQL жалуется, что не может его привести, это означает, что вы не только сохранили уникальный идентификатор как varchar, вы использовали другой формат, чем SQL Server (например, вы добавили '{' и '}'). SQL прекрасно способен преобразовывать строку в uniqueidentifier при правильном форматировании:
declare @u uniqueidentifier;
declare @s varchar(64);
select @u = NEWID();
select @s = CAST(@u as varchar(64));
select CAST(@s as uniqueidentifier), @u, @s;
В зависимости от того, как вы на самом деле сохранили уникальный идентификатор, вам, скорее всего, придется изменить данные и код в соответствии с форматом SQL (нет {}).