Onestamente, non capisco da dove deriva il problema. :master:

Quando ottieni i dati di una query attraverso un DataReader, il tipo di dato con cui effettuare il "casting" per memorizzarlo o trattarlo è quello che più si avvicina al tipo attribuito al campo stesso all'interno del database.

Se hai a disposizione un campo data/ora, lo leggerai come DateTime; se hai a disposizione un intero con un Int32 e così via.