x86ビルドでヒープにXMMATRIXを確保するとうまく動作しない。

てか落ちる。x64ビルドだと大丈夫。
Direct3D11+XNA Mathやってて超ハマってた。

Getting Started - Windows applications | Microsoft Docs

型の使用方法のガイドライン

ただし、ヒープからの割り当てはさらに複雑です。この場合、ヒープから割り当てられるクラスまたは構造体のメンバーとして XMVECTOR または XMMATRIX を使用する場合は注意が必要です。Xbox 360 および Windows x64 では、すべてのヒープ割り当ては 16 バイトにアライメントされますが、Windows x86 では 8 バイトにアライメントされます。16 バイトのアライメントでヒープから構造体を割り当てるためのオプションは、いくつかあります (「割り当ての適切なアライメント」を参照してください)。また、C++ の場合は、new 演算子や delete 演算子オーバーロードを利用することもできます。

クラスメンバの変数にはおとなしくXMFLOAT4X4にしてStore系の関数使えって事かな。
x86(Win32)とx64両対応するならだけども。
アライメント揃えられるやり方自体はあるようだけど、めんどくさそう。