Another way that's faster than all the others mentioned here (other than Ed's of passing a file pointer string) - wrap the cursor into a string. wwIPStuff's EncodeDBF and DecodeDBF do the encoding and decoding which is very fast unless the file is in the multi-megabyte range. All it does is grab a disk image into a string (with support for putting together both DBF and FPT files).
Once encoded the file is just a string that gets passed back and forth. Strings are much more efficient than COM object references passed around like ADO. Hence in general I think that XML and this mechanism are often better choices. ADO makes sense if you need to reconnect the data to the server after the fact.