I think that what you are going to have to do is get a reference to the query, read its properties to get the Access query string from it, and build your own query string out of that, then retrieve records from Access with that string.
I don't think that you can open the query directly. MDBs only store the properties of queries. Access.exe actually implements them. ADO.NET should be able to perform anything that Access can, but I believe the syntax will be slightly different. (I think this will require a little experimentation...)