In some cases SQL Server will interpret such a parameter as a string. The most well-known example:
EXEC sp_who2 active;
Is the same as:
EXEC sp_who2 'active';
I don't know if this behavior is documented but writing code this way is certainly fragile IMHO.