http://vsug.jp/tabid/63/view/topic/postid/1571/forumid/44/tpage/1/Default.aspx#1626
 の一連のお話の中で

私は、Open前にnullチェックはあんまり書いたことないです。
ちなみに、今回の例として書いているものでは、nullチェックは必要ないと思っているのですが間違いでしょうか?

 私は必ず書きますし、ログも出します。openチェックには別の側面があって、「意図していない開いた状態を知る」場合に有効です。ほんとはこのシーケンスではcloseからopenに遷移してほしいのに、(何かのバグで)open→openとなってしまうことを検知したいからです。
 データベース接続に限りませんけど、この手の処理を最上位に近いところでやることなんてなくて、アプリケーションの下層の処理になります。そうすると意図しないシーケンスって結構見つかりますので。
 「この場合は書く」「かかない」ということを考えるより、必ず書いておいたほうが間違いが少なくなります。