If you are passing
"", you are not omitting the parameter.
"" is not a variable. For these built-in functions, the parameters are marked as "output variables", meaning only a variable is valid, and it must be writable.
ByRef does not require a variable, because that would defeat the ability to define a function to accept a varying number of variables. This might change if variadic functions are somehow improved to support variable references.
There is no good reason to pass "" when you mean to omit the parameter. If you get into that habit, you will get into trouble when you do it with a function which has a non-empty default value.