I think that might explain it if I'm reading this right. db_datareader is database specific, not system wide. Put the user in that role for both dbs and see what happens.

Jeff