Yes, I was able to reproduce this, and indeed this is very interesting. I bet that nobody will be able to explain this, including Microsoft; the only explanation I can offer is this:
Access is simply not supposed to be used that way. Access OLEDB provider is somewhat different from the "pure" ADO, and you can't do with it everything you can do with pure ADO recordset. For example, you can't use server-based cursors. Even though it's supposed to be close, I'm sure Microsoft did not test all possible scenarios, such as yours, when you not only make recordset disconnected, but also clone it to stream and then recreate from stream. So the bottom line is, the results of such manipulations are simply unpredictable. Access is expecting to be connected to the live database, because it's so designed, and perhaps when the session is unlocked, it decides that something went terribly wrong, and simply reconnects. Especially it might make such conclusion because that's what is initially specified in the form's recordsource (i.e. what you see in design mode).
And there's good reason why Microsoft did not test all that. That reason is that Access is rapid application development tool, and it's supposed to be used in pretty straightforward manner: make bound form and use it. Don't try to manipulate the data, tell Access where the data is, and allow it to manipulate it by itself. Don't twist its arms by forcing your own recordset on the form, allow the form to build its recordset by itself. In order to be productive with Access, adapt to Access-oriented thinking. If you want full control, if you want to manipulate the data by yourself, then that's what Visual Studio is for. Which is, by the way, major limitation of Access ADP, and the main reason why Microsoft might indeed say "move away from ADP", that LSMConsulting mentioned (even though I bet $10 that Microsoft in fact absolutely never said that; there were rumors after Office 2007 release, but nothing was ever confirmed or denied. As I understand, there's no consensus about that in Microsoft itself).
From my experience, usually super-sophisticated solutions are born when there's not yet full appreciation of the tool, and developer is trying to implement the thinking from another tool he is more familiar with - i.e. all these tricks with juggling the data between recordsets and streams, you developed them with some other tool, didn't you. If you tell what is the final objective of all this effort, maybe we will figure out something more natural for ADP.