It depends, as usual. In an optimal case, i.e. (e)dx is already loaded (you don't need an explicit mov edx, myvar), then fastcall can be a cycle or so faster. This may matter if the called procedure is very short. And then comes the inevitable question: why call a short proc? Inline it!
So in practice, fastcall is never a good idea in 16- or 32-bit code.