ユーザ定義の型変換演算子を考慮は、

上記のコードでは、
・当該コントロールか、
・当該コントロールを使用した
　カスタムコントロール（派生クラス）か、

を識別できれば良いので不要になります。

すると、
・is演算子でチェック後、キャスト処理を行う。
・as演算子キャスト後、nullチェックを行う。
の２択になりますが、ここでasの方が良いと
判断された理由があったらお教え下さい。