I have been looking for a faster method than CopyFromRecordSet, so RIBH I tried your code with great interest.
In my tests however, returning 200k rows using the Array method code posted above is considerably slower than CopyFromRecordSet.
3 iterations each of 200k rows : CopyFromRecordSet : 7.32 Seconds ArrayMethod : 17.3 seconds
Wish the results were different I really do. Regards