I've tried playing TV shows through WMP and it's been terrible. I then found
TCPMP Phenom; while a bit ugly, it plays every video file fine - I believe it uses hardware acceleration more effectively or something, but that's besides the point. The only two issues I have with it are the ugly interface, which apparently can be skinned, and that video playback stops if you rotate the phone into landscape. You could easily turn the rotation off or use something like RotationService to block it from rotating, I think.