I think you may have been right about the working directory. The DLL file that causes the error is the splktssp.dll. Let's say that DLL file is in C:\fast and the fastcall.exe is in C:\test then:

Code:
cd fast
RUN C:\test\fastcall.exe


Now the RUN works fine. I still don't get why the fastcall.exe works with the fileaction() UDF though. C:\fast is not specified as the working directory anywhere. Couldn't find reference to that path in the registry or anywhere else.