You've worked around the problem, but if anyone wanted to know the reason, I'll add this
Video decoding often requires a lot of power. For this reason, when the graphics card is capable, video decodding is offloaded to the graphics card, rather that being done by the CPU. When the video decoding is to be done by the CPU, it can comsume a lot of resources, the CPU usage by WMP skyrockets, but the video still isn't able to be decoded even when utilising all the power of the CPU. Because the video isn't decoded (smoothly), WMP keeps waiting for it to be done, and is frozen while it waits (if you leave it running you might see it playing very jerkily, with many dropped frames).
When the graphics card is capable, decoding can still be done by the CPU, and this can sometimes give better quality, eg when using a proprietory codec which is not fully supported by the graphics card.
Decoding by the graphics card can be disabled in WMP as shown below. To access the shown dialog; go to
Menu >
Tools >
Options, and then on the performance tab of the Options dialog, click the button labelled
Advanced ... in the video acceleration. Overlays is the technique by which the graphics card's capabilities are utilised, when the output is diaplayed with other elements displayed on screen.