Dave,
Thanks again for your help on this topic. I understand your points about explictly re-declaring sprintf to match the number of passed arguments.
Regarding msvcr71.dll - VFP 9 requires this dll as part of its runtime distribution so its guaranteed to be available if a VFP application is running. I took a look at the VFP 7 and 8 MS C runtime DLLs (msvcr70.dll) and the sprintf function is also exported by these DLL's as well.
Thanks again!
Malcolm