Es correcto:cuando cifra algo, se trata como una matriz de bytes y se devuelve como tal. 0x47 es G, 72 es r, etc.
Si examina la documentación de DecryptByAsmKey notará que el tipo de retorno es varbinary con un tamaño máximo de 8000 bytes. También notará la conversión en el ejemplo.
Entonces, si está encriptando y desencriptando cadenas, debe convertirlas así
SELECT CONVERT(varchar(max),DECRYPTBYASYMKEY(ASYMKEY_ID('myasymkey'),
EncryptByAsymKey(AsymKey_ID('myasymkey'),
'Greg'),
N'123pass!'));
También tenga en cuenta que debe asegurarse de convertir a varchar (max) o nvarchar (max) según su entrada. Si lo intentaras
SELECT CONVERT(nvarchar(max),DECRYPTBYASYMKEY(ASYMKEY_ID('myasymkey'),
EncryptByAsymKey(AsymKey_ID('myasymkey'),
'Greg'),
N'123pass!'));
sería incorrecto, ya que su entrada de 'Greg' es un varchar.