rgnのハンドルが有効かどうか毎回確かめたらいいじゃない。

CRgn rgn;
...
if ((HRGN)rgn) {
//rgnに対する操作
}