1) Use dateformat("yyyy-
MM-dd")
Sorry, it's a documentation failure rather than a bug. DateFormat and TimeFormat in Basic4ppc and BasicLib use the .NET standard formatting characters
Custom DateTime Format Strings so you can use TimeFormat for dates and DateFormat for times if you want. However for DateFormat Basic4ppc converts any "m" to "M" because "m" is minutes and "M" is months. For TimeFormat Basic4ppc changes "M" to "m" for the same reason.
I chose not to do this in BasicLib so DateFormat and TimeFormat are identical but maintain separate formatting strings so you can keep two different date/time formats defined.
2) I'm afraid not.
3) I'm afraid not. However you could get a similar effect by putting the parameters in an global array, pass the name of the array variable as the parameter and use GetLen and GetItem to access the array. Or you could just have the Sub assume which array to use.