Why make it so difficult?
VB Code:
  1. Function FetchArray(strQuery As String, conn As ADODB.Connection) As Variant
  2.    Dim nRS As ADODB.Recordset
  3.    
  4.    Set nRS = New ADODB.Recordset
  5.    nRS.CursorLocation = adUseServer
  6.    
  7.    nRS.Open strQuery, conn
  8.    FetchArray = nRS.GetRows
  9.    nRS.Close
  10.    Set nRS = Nothing
  11. End Function

EDIT: added some cleanup code