As you mention yourself to be rusty in vfp:
AFAIR RegFN tries to register into the DOS 16 bit runtimes, the 32 bit equivalent was called RegFN32. It was used to call into Fll/Dll created by 16 or 32 bit compiler especially for Vfp3 or found on the DOS or NT based OS, as MS allowed via "thunking" to call into DLLs of the back then "other" bitted OS, as DOS supported the "extended" and "extended386" modes while NT/W2K still supported and ran DOS/16 Bit. If your OS runs in 64 bit mode, which was possible since XP and became the norm with Win7, those 16 bit OS Dll are not there. It does work for every 32 bit OS, even Windows 10 when installed as 32 bit, as you can run 16 Bit FPW or FPDos without a virtual machine there. If you were lucky sizes of both compilation environments were identical and the 16/32 bit divide did not crash.
In Vfp running on 32 or 64 bit OS it is better not to use RegFN/RegFN32 at all, but instead use the DECLARE DLL syntax, which also is easier to translate from googling other languages / examples from WINAPI. AFAIR Vfp6 was the last Vfp with official support for Dos based Win98/ME and I would not want to go back to those...
see
https://hackfox.github.io/section4/s4g281.html
regards
thomas