The error Optional parameter missing sounds awfully paradoxical, doesn't it. I mean, if the parameter is optional, why are you complaining that it's missing?
This KB article explains why, specifically, the part that says, "If a parameter is omitted, the calling program must…".
For those who don't want to click through, here's the ...