確認したいことがあります。using コマンドを SqlDataReader に適用すると、データ リーダーを閉じて破棄する可能性が高いと思います。例えば:
Using sdr As SqlDataReader = cm.ExecuteReader()
Dim someInt As Integer = sdr.GetInt32(0)
'other details and actions
End Using
Usingコードブロックを終了した後、sdr SqlDataReader を閉じますか。(そうなると思いますが、確認したいだけです。)