You could try to open the recordset in an alternative way:
g_rsData.Open cmdSubCommand, , adOpenStatic, adLockReadOnly
Set g_rsData.ActiveConnection = Nothing
m_lngDataRecordCount = cmdSubCommand.Parameters("@RecordCount")
This does the trick in my applications.
Erik