If you are using DAO, then there is also most certainly a connection - with the database object. Keep this open.
I see no problem under DAO to just re-open the recordset, with-out closing it first, (as long as you are using it with-in the same scope), except, if you thought you re-opened it, but didn't - then you may bad wrong data. It is a little sloppy to do it that way.
But, sloppy is also a big subject and sometimes only in certain aspects. Sometimes it is better to be "sloppy".
Is it sloppy to use in a class public property variables instead of property proceedures? Probably. And it goes against encapsulating the data. But it is much slower to do so. They can really slow things down when speed may be important.
Under ADO, however, in all cases close the recordset first.
What I meant with "...Actually, it has nothing to do with an extra step...." was not the fact that the extra step causes extra work, and in turn slows things down. Actually you shouldn't notice it slowing things down anyways, under normal circumstances and usage, unless you also close the connection/database as well, and then re-open it.
The problem is with not just closing it. Under ADO you may run into other problems if you don't.....
I could list some specifics as to what problems, but I'm out of time today....