Right. Although still, if you think about it: when you do push-push-call, you're generally not calling a procedure name; you're calling either through a DWORD variable or register. (Until I saw your example I didn't even know that you could call a function by name this way.)
If I were the one writing the assembler, I think I'd at least flag it as a warning of someone made the mistake I did here. Because clearly my subroutine takes an argument, which I'm not (explicitly) providing.
Or maybe they should give us an option to flag such warnings or not.
But then, MASM isn't "strongly typed" like C is, so it gives us programmers more, and more interesting, ways to get into trouble.