die Variablensubstitution in :SETVAR funktioniert nicht, da es sich in diesem Fall nur um eine Token-Substitution handelt.
Sie können das erwartete Verhalten wie folgt simulieren:
:SETVAR GREETING "HELLO"
DECLARE @salutation VARCHAR(5) = $(GREETING);
SELECT @salutation;
Viele Grüße.