פשוט מאוד.
מה שאתה רואה ב-MSDN הוא לא התמונה המלאה, ולא ברור לי למה הם בחרו להראות אותה ככה. ב-MSDN, המבנה נראה ככה:
typedef struct D3DXMATRIX { union { float m[4][4]; }; } D3DXMATRIX;
וזה די חסר הגיון, כי אין משהו חוץ מה-float.
אבל, אם תחקור קצת לעומק, תראה ש-D3DXMATRIX הוא בעצם struct שיורש מ-D3DMATRIX, שנראית ככה:
typedef struct _D3DMATRIX { union { struct { float _11, _12, _13, _14; float _21, _22, _23, _24; float _31, _32, _33, _34; float _41, _42, _43, _44; }; float m[4][4]; }; } D3DMATRIX;
ואז זה כבר שונה. המטריצה מקבילה ל-16 ה-float-ים. כנראה שלמיקרוסופט היה יותר נוח לפנות אל המשתנים בצורה כזו (בדידה) מאשר בצורת המטריצה הישירה.