When using msadosql it always returns the number of records affected or records returned by a SELECT statement.
The access database, which is what the defaults tests are using doesn't return the number of records for a SELECT. It's a known issue that you have to MoveLast/MoveFirst before the correct RecordCount value is return for an Access DB.
-- v2: msdasql: Always return affected rows if required.