Nope, can't play it in VLC - it pauses, stutters, and the timeline indicator seems to have a mind of its own. While this laptop isn't a beast, it should cope with this file without a sweat (i5, Win7-64, VLC 2.0.2) - it's only SD MPEG-2, after all!
Are you recording locally, or recording to a filesystem over a network link, I wonder?
Observation 1: I quickly re-encoded it into H.264 HP with Handbrake, and it plays perfectly. So the file is complete and clearly contains all the information it needs. I would therefore suggest it's something to do with either container or encoding.
Observation 2: a quick ffmpeg re-wrap (ffmpeg -i tvhtest.mkv -acodec copy -vcodec copy -f mp4 tvheadtest.mp4) and the resultant file plays fine as well - so it's not the elemental streams, they're fine.
I wonder if there's a clock/timing issue, or a cacheing issue - perhaps a default in the underlying ffmpeg code, perhaps how it's been incorporated into VLC and XBMC...
EDIT:
Observation 3: In VLC, Tools -> Preferences -> All -> Input/Codecs, scroll to File Caching (ms) and increase to 2000 and it plays fine. So it may be a buffer over-run of some kind that XBMC simply handles better.