Неясно, сколько существует кода между тем, когда вы назначаете его в структуру и позже используете его в CreateSolidColorBrush. Если это не тривиальный промежуток времени, возможно, у вас есть проблема с подсчетом ссылок.
Вы храните необработанный указатель в структуре? Если это так, переключите его на CComPtr и посмотрите, исчезнет ли сбой.
Например. Если у вас было следующее определение типа для значения pRend (назовите его Render), а значение pRend было уничтожено перед вызовом CreateSolidColorBrush, вы могли увидеть это поведение.
struct Render {
ID2D1HwndRenderTarget *pCt;
~Render() {
pCt->Release();
}
};