Visto che hai un DataReader, controlla che restituisca qualche riga con

dr.HasRows

e fai un po' di debugging.