I've used the GMW5S32.DLL and GMW6S32.DLL (pretty much the same) with Visual FoxPro.
The only serious problem I've had is getting the contents of the Name/Value pairs. (Creating and using the NV pairs is no problem, but if you need to get the return values it's a problem.) VFP returns a string of numbers instead of the actual data. These numbers are pointers. After some fiddling, I wrote some functions that allow you to get the actual data to which the pointers point. It's been a while since I used them, but let me know if you are interested and I'll dig them up.