well ...
set a test
is exactly the same
as
set a "test"
in this case (quotes aren't required around literal strings that don't include spaces and other special characters).
This explains why the procedure isn't called when you remove the square brackets.
Exactly what server error are you getting?