I'm posting the answer that worked to improve the problem with the repro case I mentioned above.
The fix that led to this was that I added another user to the system, and the new user was not experiencing the problem, so I figured it might be MATLAB preferences related.
I deleted the contents of:
Note that doing the above will reset the MATLAB desktop layout to the default, delete the current user's command history, and any other user-level MATLAB settings.
After doing that, restarting MATLAB and hovering over both var_ok and var_bad variables the DWM crash disappeared.
Edit: It seems the problem is still present regardless of resetting the MATLAB settings, even using a new Windows 7 User Account, except now I get the problem with:
var_ok = rand(453,1);
var_bad = rand(454,1);
I also tried pointing MATLAB to a newer Java Runtime v7 update 55 on my system, and as the OP (Nick) mentioned, this does not resolve the problem.
Edit 2: In the end, my resolution ended up being installing Windows 8 x64. That being said, I noticed that there is at least one DWM / DirectX registry setting that affects the behavior of the minimum variable size where the problem happens, but I was not able to eliminate it, given I didn't have time to keep debugging the issue. This particular one was the one I tried: