As long as your function uses the types that Silk Supports, you call whatever .dll you want. It can be c++ no problem. You can also passing pointer returned from another function. I don't understand what is the benifit of doing this in Silk?
I would think the best way to do this kid of testing would be to write something in VB and create similar mechanism of reporting as that of silk and putting something togather in VB shouldn't be that hard. I get your point and do think that its a good idea to have test results in a same format. but its I think very difficult and not always reliable to do something like this in silk. using VB will be much easy.
For simple stuff like calling APIs(check dll declarations, it's similar to how SilkTest does it. allapi.net has a tool with windows dll declaration for VB. It's a good place to start), you should be able to learn that under 45 minutes. For complicated stuff it might take hours.