Couple of things,
1) There's an Intel update for the D945GCLF2 bios.
2) The D945GCLF2 is a dual-core but XBMC Live will actually see 4 as hyper-threading is enabled. Mine works fine with hyper-threading only, so good that I did not fiddle with it. XBMC uses more than two "cores", it's the threads than matter not the cores. ffmpeg can only use two "cores" but only if the content is encoded properly.
3) +40 Mbps read, must be mega bits as you can't get 40 mega bytes per second over USB. 35-37 maybe but not 40. My best USB flash drive is 14 MB per second, USB HDs are faster but not by much. If you are really getting 40+ mega bits per second, that's pretty slow, 100T ethernet is faster.
4) I've tried many 720p MKV, they all play fine without stutters/drops. This is also with the native chipset GPU. On USB flash drives and over the network.
5) Pretty crappy chipset fan, I replaced mine
"ifconfig" to check for network errors, "dmesg" to check logs, Linux must have something like MediaInfo to qualify your MKV files. MKV is a container, the video content inside can be very different from on MKV to another.
And with a PCI based 8400 nvidia card and the new VDPAU driver and patched mplayer, pretty much all 720p content that I have is about 3-5 percent CPU. That's pretty cool.