You get an error because the BeginNonFiscalBon method expects a references (of an object type) to an integer object. I'm not sure if it possible to pass proper parameters to it from VFP. As a workaround, you can write a VB wrapper.
>ff = CREATEOBJECT("FiscPrnSys.FiscPrn")
>otg =ff.connect("COM1",9600,8,0,1)
>aaa = 0
>bbb = 0
>otg = ff.BeginNonFiscalBon( @aaa, @bbb)
>On last line error type mismatch.
>extern "C" DWORD __declspec(dllexport) BeginNonFiscalBon(WORD& AllReceipt, WORD& ErrCode) - no error when called from VB with integer variable
--sb--