AsyncPages in ASP.NET 2.0
Overall a very cleanly written class.  It is easy to follow and understand.

A couple of suggestions though.

Make the reader class variable a Property with a private setter.  This will eliminate the ability to reassign it from outside of the class.  I would also rename it Reader to fit with C# coding standards.

Most C# coding standards I have read suggest prefixing private class variables with a _.  This will allow you to remove the this. statement whenever you need to access one of the class variables.  I think doing that will make you code much easier to read.

I'm not sure what the SelectSync method is used for.  I see it as a way to do a non-async query into the database.  If that is the case, I would move it to a different class as it interferes with the async nature of the one you have written.  Maybe rename this class to DataAccessAsync, and have a second one DataAccess?  Its hard to say without an example of a call to that method.

I can't see much more at this point.