Since Version 1.29 all internal interfaces are "dual". This should solve any problems which exists before.
But in case you want to use an IUnknown instead of a IDispatch interface in Visual FoxPro, you can create an object variable and assign the interface you need to use using the method GETINTERFACE:
Example:
ospell=GETINTERFACE(this.SpellCtrl, "iwpspell", "WPTDynInt.ocx")